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

Scrieţi un program care citeşte de la tastatură un număr natural n din intervalul [2,100OO] şi apoi n numere întregi şi afişează pe ecran “DA” daca toate numerele impare sunt ordonate Crescător şi cele pare sunt ordonate descrescător, altfel se afişează “NU”. Exemplu. pentru n=10, şi v=(1,l0, 5, 8, 7, 9, 9, 6, 6, 2) se afişează DA.

Răspunsuri la întrebare

Răspuns de Utilizator anonim
0

Răspuns:

int main()

{

   int n,v[100],ok,i,j,ctp,cti;

   cti=0;

   ctp=0;

   cin>>n;

   ok=0;

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

       cin>>v[i];

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

   {

       if (v[i]%2==0)

       {

           for(j=i+1; j<=n; j++)

               if (v[j]%2==0 && v[i]>v[j])

               {

                   ctp=1;

                   ok=1;

               }

               else

               {

                   if(v[j]%2==0)

                   {

                       cout<<"NU";

                       ok=3;

                    i=n;

                    j=n;

                   }

               }

       }

       else

       {

           for(j=i+1; j<=n; j++)

               if (v[j]%2!=0 && v[i]<v[j])

               {

                   cti=1;

                   ok=2;

               }

               else

               {

                   if(v[j]%2!=0)

                   {

                       cout<<"NU";

                       ok=3;

                       i=n;

                       j=n;

                   }

               }

       }

       if (cti==1 && ctp==1 && ok==2)

       {

           cout<<"DA";

           break;

       }

   }

}

Explicație:

Sincer nu sunt sigur daca este bine pentru toate cazurile si sunt convins ca m-am complicat.Imi pare rau dar alta idee nu am avut.

Alte întrebări interesante