Given an array of real numbers containing 25 elements, write all the positive numbers and zeros, and then all the negative ones, in the same array, keeping their order.

#include<stdio.h> #include<conio.h> #define N 10 int main() { int i,buf,k,j; int array[N]={10,2,-4,-5,1,0,0,-7,1,2}; for(i=0;i<N;++i,k=0)//главный цыкл { if(array[i]>=0) printf("%d",array[i]); //проверка,если положительное или ноль-печать. else { for(k=0;array[k]<0 || i!=N-1;++k) //в этом цыкле поиск чисел больше нуля { array[k]=array[i+k]; if(k==N-1 && array[k]<0) //проверка не закончился ли цыкл,если да-печать всех отрицательных. { for(;i<N;++i) printf("%d ",array[i]); i=N; //это условие конца главного цыкла. } } if(array[k]>=0) /*проверка числа на положительность,затем менять местами в масиве до тех пор,пока он не станет на первый елемент,или предедущие тоже положительное или ноль*/ { for(;array[k-1]<0 || array[k]!=array[0];--k) { buf=array[k-1];array[k-1]=array[k];array[k]=buf; } } if(i!=N) printf(" %d ",array[k]); //печать елемент масива } } getch(); return 0; } 
  • 2
    You led the code, and what is your problem? - VladD
  • Problem to solve the problem. :) - vkovalchuk88
  • the problem is that it prints only elements that are first positive or zero, does not want to continue to work) - bonapart
  • // in this cycle, the search for numbers is greater than zero. Where is the specific search for numbers greater than zero in that cycle? > array [k] = array [i + k]; What is the left shift of the elements? So far such questions ... - vkovalchuk88
  • one
    Let Bonaparte act) everything will be ok - vkovalchuk88

0