👤

IN C++ , Sortare
Fiecare locuitor al unui oraş a donat o sumă de bani pentru realizarea unui centru de excelenţă în informatică. Pentru a determina care este valoarea cea mai mare care s-a donat, primarul oraşului te-a angajat să creezi un program care să sorteze crescător toate valorile donate. Fiindcă nu işi permite să piardă timp, te-a rugat să faci un program care să execute sortarea într-un timp cât mai scurt posibil.

Date de intrare
Se citește de la tastatură un număr n, urmat de un șir de n numere naturale.

Date de ieșire
Programul va afișa pe ecran elementele șirulului sortat în ordine crescătoare.

Restricții și precizări
0 < n ≤ 100 000
elementele șirului sunt numere cuprinse intre 0 și 500, inclusiv.
Exemplu
Date de intrare .............................. Date de ieșire
10
15 47 98 23 145 74 89 32 1 74 ....... 1 15 23 32 47 74 74 89 98 145

VA ROG SA EXPLICATI !


Răspuns :

#include
using namespace std;
int main()
{
int a[100], n, i, aux;
int sortare;
cin>>n;
for(i=0; i<=n-1; i++)
{
cin>>a[i];
}
do {
sortare = 1;
for(i=0; i<=n-2; i++)
{
if(a[i]>a[i+1])
{
aux = a[i];
a[i] = a[i+1];
a[i+1] = aux;
sortare = 0;
}
}
} while (sortare == 0);
for(i=0; i<=n-1; i++)
{
cout< }
return 0;
}

Aici am folosit *metoda bubble*
E o metoda care te ajuta la aranjarea numerelor in ordine crescatoare intr-un sir. Variabila “aux” este doar pentru compararea a doua elemente. (Ex. Se verifica care dintre urmatoarele elemente sunt mai mici/mari {20,34,1}, iar prin conditia “if a[i]>a[i+1]” se aranjeaza elementele crescator (daca pui invers conditia “if a[i]