Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. язык си

BlackStile BlackStile    1   14.09.2019 10:30    2

Ответы
nazarpetrenko1 nazarpetrenko1  04.08.2020 08:01
#include <stdio.h>
#include <malloc.h>
void func(int *mas, int N)
{       
int l=0, r=N-1, i;       
while(l<r)       
{               
for(i=l; i<N; i++)                       
if(mas[i]<0)                               
break;               
l=i;               
for(i=r; i>=0; i--)                       
if(mas[i]>=0)                               
break;               
 r=i;               
if(l<r)               
 {                       
 int temp=mas[l];
 mas[l]=mas[r];
mas[r]=temp; 
               }       
 }

int main()
{int *mas, N, i;printf("N= ");scanf("%d", &N);mas=(int*) malloc(N*sizeof(int));for(i=0;
i<N; i++)
{    printf("[%d]= ", i); 
   scanf("%d", &mas[i]);}func(mas, N);for(i=0; i<N; i++)    printf("%d ", mas[i]); 
   return 0;}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика