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

se citeste un numar natural n, n<=500, apoi n cifre de la tastatura despartite printr-un spatiu.Se cere sa se afiseze pe ecran numerele in ordine crescatoare despartite printr-un spatiu
a)descrieti pe scurt algoritmul ;
b)rezolvati problema in c++

Răspunsuri la întrebare

Răspuns de howardax
3

a)

Pentru a rezolva problema: declarăm un vector și un n, care ulterior îl vom citi de la tastatură, iar cele n valori, le vom stoca în vectorul declarat. Pentru a ordona șirul crescător folosim metoda de sortare Selection, care verifică fiecare element începând cu prima poziție, cu celelalte elemente din vector, începând de pe poziția a doua.

b)

#include <iostream>

using namespace std;

int main()

{

   int n;

   cout<<"Dati n:"; cin>>n;

   int v[n];

   cout<<"Dati cele "<<n<<" elemente:";

   for(int i=0; i<n; i++){

       cin>>v[i];

   }

   

   for(int i=0; i<n; i++){

       for(int j=0; j<n; j++){

           if(v[i]<v[j]){

               int aux;

               aux=v[i];

               v[i]=v[j];

               v[j]=aux;

           }

       }

   }

   cout<<"Sirul ordonat crescator:\n";

 for(int i=0; i<n; i++){

     if(i!=0 && i!=n){

       cout<<" "<<v[i];

     } else cout<<v[i];

       

   }

   

   return 0;

}

Rezultat:

Anexe:
Alte întrebări interesante