profile
Опубликовано 5 лет назад по предмету Информатика от антохаvhh

задан массив. состоящий из целых положительных и отрицательных чисел. разбить его на два массива . в одном из которых только положительные . в другом - отрицательные . отсортировать их по убыванию. с++ Помогите пожалуйста C++

  1. Ответ
    Ответ дан Timurka0102

    Ответ:

    Объяснение:

    #include<stdio.h>

    #include<locale.h>

    main()

    {

    setlocale(LC_ALL,"RUS");

    int x[30],i,j,n,plg[30],otr[30],tr,tr1;

    printf("Введите количество чисел");

    scanf("%d",&n);

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

    {

     do

     {

     printf("Введите %d число",i+1);

     scanf(" %d",&x[i]);

     }

     while(x[i]==0);

     if(x[i]>0) plg[i]=x[i];else plg[i]=0;

     if(x[i]<0) otr[i]=x[i];else otr[i]=0;

    }

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

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

    {

     if(plg[j]<plg[j+1])

     {

      tr=plg[j];

      plg[j]=plg[j+1];

      plg[j+1]=tr;

     }

     if(otr[j]<otr[j+1])

     {

      tr1=otr[j];

      otr[j]=otr[j+1];

      otr[j+1]=tr1;

     }

    }

    printf("Положительные =");

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

    {

     if(plg[i]!=0) printf("%d ",plg[i]);

    }

    printf("nОтрицательные =");

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

    {

     if(otr[i]!=0) printf("%d ",otr[i]);

    }

    }

    Программа написана на обычном СИ. Ноль вводить нельзя.