Informatică, întrebare adresată de dobre50, 8 ani în urmă

Se da un vector cu n elemente reale. Aflati cea mai mica diferenta intre doua elemente consecutive.

Răspunsuri la întrebare

Răspuns de Apollyon
0

Răspuns:

#include <iostream>

using std::cout, std::cin, std::endl, std::size;

int main() {

 int vectorNr[] = {-1, 2, 3, 4, -5, 8, -9, 5}, difMin = INT32_MAX, dif;

 size_t dimensiuneVector = size(vectorNr);

 for (size_t i = 0; i < dimensiuneVector - 1; ++i) {

   dif = vectorNr[i] - vectorNr[i + 1];

   if (dif < difMin) difMin = dif;

 }

 cout << "Diferenta minima intre 2 numere consecutive este: " << difMin

      << endl;

 return 0;

}

Explicație:

Parcurgi vectorul și scazi din numărul curent următorul număr, dacă diferența lor este mai mică decât diferența minimă curentă setezi diferența minimă curentă la diferența numerelor. Și mergi consecutiv cu numerele 2 câte 2.

La final afișezi diferența minimă ( pe exemplul ăsta e -14 deoarece -9 - (+5) = - 9 - 5 = - 14 ).

Alte întrebări interesante