задан массив. состоящий из целых положительных и отрицательных чисел. разбить его на два массива . в одном из которых только положительные . в другом - отрицательные . отсортировать их по убыванию. с++ Помогите пожалуйста C++
Ответы
Ответ:
Объяснение:
#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]);
}
}
Программа написана на обычном СИ. Ноль вводить нельзя.