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

Se considera orice vector v cu n elemente reale. Oricare ar fi vectorul furnizat, utilizandu-se algoritmul de testare sortare cu bule, sa se determine daca vectorul este ordonat crescator.

#include
using namespace std;

Răspunsuri la întrebare

Răspuns de Apollyon
1

Răspuns:

#include <iostream>

bool esteSortat(double vectorNumere[], size_t dimensiuneVector);

int main() {

 double vecNr1[]{1, 2, 3, 4, 5}; /* true */

 double vecNr2[]{2.3, 4.5, 1.3, 8}; /* false */

 double vecNr3[]{2.22, 2.21, 4, 5.0}; /* false */

 std::cout << std::boolalpha << esteSortat(vecNr1, std::size(vecNr1)) << "\n << esteSortat(vecNr2, std::size(vecNr2)) << "\n" << esteSortat(vecNr3, std::size(vecNr3)) << "\n";

 return 0;

}

/* true dacă vectorul este sortat, false altfel */

bool esteSortat(double vectorNumere[], size_t dimensiuneVector) {

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

   /* luăm primul număr, îl comparăm cu restul */

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

     /* dacă găsim un număr mai mic decât numărul curent */

     if (vectorNumere[j] > vectorNumere[j + 1]) {

      /* înseamnă că vectorul nu e sortat, returnăm false */

       return false;

     }

   }

   /* dacă numerele sunt ordonate nu mai are rost să parcurgem vectorul */

   break;

 }

 /* deci înseamnă că vectorul e ordonat crescător */

 return true;

}

Alte întrebări interesante