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

Se citesc de la tastatura 2 numere naturale n și k apoi n numere naturale. Să se afișeze primele k
elemente în ordine crescătoare, iar ultimele n-k elemente în ordine descrescătoare (Indicație:
ordonați crescător primele k elemente, adică aplicați algoritmul de sortare de la 1 la k si apoi
ordonați descrescător ultimele n-k elemente, adică aplicați algoritmul de sortare de la k+1 la n)

Răspunsuri la întrebare

Răspuns de MariusCelTrifan
1

Răspuns:

{

 int n,i,k;

 cout<<"n=";

 cin>>n;

 cout<<"k=";

 cin>>k;

 int a[n];

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

 {

     cout<<"a["<<i<<"]=";

     cin>>a[i];

 }

     int aux,sortat;

     do

     {

         sortat=1;

         for(i=0;i<k;i++)

             if(a[i]>a[i+1])

             {

                 aux=a[i];

                 a[i]=a[i+1];

                 a[i+1]=aux;

                 sortat=0;

             }

             }while(!sortat);

do

{

sortat=1;

for(i=k;i<n-1;i++)

if(a[i]<a[i+1])

{

aux=a[i];

a[i]=a[i+1];

a[i+1]=aux;

sortat=0;

}

  }while(!sortat);

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

       cout<<a[i]<<" ";

     return 0;

     }

Explicație:

Multumesc+5 stele+cel mai inteligent raspuns?

Alte întrebări interesante