C/C++

Написать программу на языке программирования Си.

Написать программу к следующим задачам:

a. Задан массив L[11]. Переставить элементы массива таким образом, чтобы сначала размещались положительные элементы, затем – все оставшиеся. Вывести новый сформированный массив, а также количество положительных и отрицательных элементов.

b. Задан массив F[14]. Переставить элементы массива таким образом, чтобы на начала размещалась группа элементов больше первого элемента входного массива, затем – первый элемент входного массива и группа элементов, меньших или равных ему. Вывести входной массив и выходной.

Можно сделать с помощью меню с выбором задания.
Samar Ashymov
Samar Ashymov
92
1)
#include iostream
#include stdlib.h
#include time.h
#include locale.h
int main()
{
srand(time(0));
setlocale(LC_ALL, "rus");
int l[12];
int a = -5, b = 10, c = 0, s = 0, fl,tmp;
for (int i = 0; i < 11; i++)
{
l[i] = a + rand() % (a - b + 1);
printf("%4d", l[i]);
if (l[i] > 0)
s++;
else
c++;
}
printf("\n");
do
{
fl = 0;
for(int i =1;i<11;i++)
if (l[i - 1] < l[i])
{
tmp = l[i];
l[i] = l[i - 1];
l[i - 1] = tmp;
fl = 1;
}
} while (fl);
for (int i = 0; i < 11; i++)
printf("%4d", l[i]);
printf("\nПоложительные = %d\nОтрицательные = %d",s,c);
}
2)
#include iostream
#include stdlib.h
#include time.h
#include locale.h
int main()
{
srand(time(0));
setlocale(LC_ALL, "rus");
int f[14];
int a, b, c, d,tmp,fl;
printf("Масив 1:");
for (int i = 0; i < 14; i++)
{
f[i] = rand() % 14;
printf("%4d", f[i]);
}
do
{
fl = 0;
for (int i = 0; i < 14; i++)
{
if (f[i] < f[i+1])
{
tmp = f[i];
f[i] = f[i+1];
f[i+1] = tmp;
fl = 1;
}
}
} while (fl);
printf("\n");
printf("Масив 2:");
for (int i = 0; i < 14; i++)
printf("%4d", f[i]);
Никита
Никита
346
Лучший ответ