Войти
Регистрация
Спроси ai-bota
В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
Показать больше
Показать меньше
JONNYDAPP
02.08.2020 17:26 •
Информатика
Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. язык си
Ответ:
sneginka2003
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 оценок)
Популярные вопросы: Информатика
danilnikitin624
22.05.2020 22:52
Написать программу на пайтоне 3.6.0 я ничего не понимаю в программировании, . надо, чтобы в предложениях на языке программа видела подчинительные союзы и ставила на...
Wikwsejjj
30.04.2020 15:06
Файл размером 15 мбайт передается через некоторое соединение в течении 2 минут.сколько секунд будет передаваться файл размером 640 кбайт через это же соединение?...
602158
04.02.2021 12:39
Рисунок размером 1024 х 512 пикселей сохранили в виде несжатого файла размером 1,5 мб. какое количество информации было использовано для кодирования цвета пикселя?...
DanilVOLK228
26.02.2022 05:09
Сочинение на тему компьютер моя будущая специальность...
НикитаТим
14.01.2020 18:31
Описать иллюстрации билибина 33 богатыря?...
HELP111111111111q
14.01.2020 18:31
Дайте краткое определение электричества для кроссворда...
marinakomarova
14.01.2020 18:31
Составь и реши ее: было ? ,продали 7кг.,осталось 9кг.; было5кг.и8кг.,продали7кг.,осталось?...
mira132
14.01.2020 18:31
Допишите мы прорешали даже пальчики устали...
anastasiatim4e2
14.01.2020 18:31
Место звёздочек поставте цифры так,чтобы действие было выполнено правельно 1)*47*8+2**3*=10000 2) 0-4567*=55555...
termos68
14.01.2020 18:31
Написать сочинение почему старые вещи лучше новых?...
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку
О НАС
О нас
Блог
Карьера
Условия пользования
Авторское право
Политика конфиденциальности
Политика использования файлов cookie
Предпочтения cookie-файлов
СООБЩЕСТВО
Сообщество
Для школ
Родителям
Кодекс чести
Правила сообщества
Insights
Стань помощником
ПОМОЩЬ
Зарегистрируйся
Центр помощи
Центр безопасности
Договор о конфиденциальности полученной информации
App
Начни делиться знаниями
Вход
Регистрация
Что ты хочешь узнать?
#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;}