Se da un vector cu n elemente reale. Aflati cea mai mica diferenta intre doua elemente consecutive.
Răspunsuri la întrebare
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 ).