Informatică, întrebare adresată de SherlockHolmess, 9 ani în urmă

Se consideră tabloul unidimensional A[1..n] cu elemente numere întregi. Să se compună un
program care va transcrie la începutul tabloului B[1..n] în ordine descrescătoare elementele lui
negative, apoi ,în continuare, pe cele nenegative în ordine crescătoare.
De exemplu, având A = (4, -8, 7, -6, 0, -7, 5), se va obţine B = (-6, -7, -8, 0, 4, 5, 7).

Răspunsuri la întrebare

Răspuns de pigwimgs
0
#include <iostream>
using namespace std;
int i,j,a[100],b[100],n,k,c;
int main ()
{   cin>>n;
   for(i=1;i<=n;i++)
    cin>>a[i];
   for(i=1;i<=n;i++)
   if(a[i]<0){k++;b[k]=a[i];
   for(j=i;j<n;j++)a[j]=a[j+1];n--;}
   for(i=1;i<k;i++)
    for(j=i+1;j<=k;j++)
   if(b[i]<b[j]){
    c=b[i];
    b[i]=b[j];
    b[j]=c;
   }
   for(i=1;i<n;i++)
      for(j=i+1;j<=n;j++)
        if(a[i]>a[j])
      {
          c=a[i];
          a[i]=a[j];
          a[j]=c;
      }
      for(i=1;i<=n;i++)
      {
          k++;
          b[k]=a[i];
      }
      for(i=1;i<=k;i++)
      cout<<b[i]<<" ";

}



SherlockHolmess: Am uitat sa mentionez, problema se cere rezolvata in limbajul Pascal.
Alte întrebări interesante