В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
kovalcuk
kovalcuk
04.06.2023 09:40 •  Информатика

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

Показать ответ
Ответ:
varyuska
varyuska
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;}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота