Блок-схема
Рисунок 1. Блок-схема
Текст программы
#include <stdio.h>
#include <conio.h>
#include "cstdlib"
//Лабораторная работа №2. Выполнил студент группы №1307 Ляховец Вадим
int n, i, A[1000], B[1000], f, s, b;
main()
{
printf("++++++++++++++++++Программа для работы с одномерными
массивами++++++++++++++++++ \n"
"===========================Разработчик: Ляховец Вадим
=========================== \n\n");
do
{
do
{
printf("\n\nТиповые задачи работы с заданным массивом \n\n"
"1.Ввод массива; \n"
"2.Контрольный вывод массива; \n"
"3.Найти сумму элементов массива; \n"
"4.Найти сумму отрицательных элементов массива; \n"
"5.Найти минимальное значение элементов массива; \n"
"6.Отсортировать массив в порядке возрастания; \n"
"7.Характеристика массива; \n"
"8.Сформировать новый массив из положительных элементов
заданного массива \n"
"9.Выход из программы. \n"
"\nВведите номер операции\n");
scanf("%d", &f);
if(f != 1&&n == 0)
printf("Ошибка. Введите операцию 1");
}
while(f != 1&&n == 0);
system("cls");
switch(f)
{
case 1:
do
{
printf("Введите размер массива \n");
scanf("%d", &n);
if (n>1000||n<=0)
printf("Некорректное значение размера массива, введите
значение заново (от 1 до 1000) \n");
}
while(n>1000||n<=0);
printf("Введите массив A \n");
for (i = 0; i < n; i ++)
{
printf("Введите A[%d]> ", i);
scanf ("%d", &A[i]);
}
break;
case 2:
printf("Контрольный вывод заданного массива: ");
for (i = 0; i < n; i ++)
printf("%d ", A[i]);
break;
case 3:
s = 0;
for (i = 0; i < n; i ++)
s = s +A[i];
printf("\nCумма заданного массива равна " "%d\n", s);
break;
case 4:
s = 0;
for (i = 0; i < n; i ++)
{
if(A[i]<0)
s = s +A[i];
}
printf("\nCумма отрицательных элементов заданного
массива равна " "%d\n", s);
break;
case 5:
s = A[0];
for (i = 1; i < n; i ++)
if(A[i]<s)
s = A[i];
printf("\nМинимальное значение массива равно " "%d\n", s);
break;
case 6:
for (i = 0; i < n; i ++)
for(s=n-2; s>=i; s--)
if(A[s] > A[s+1])
{
b = A[s];
A[s] = A[s+1];
A[s+1] = b;
}
printf("\nОтсортированный массив в порядке возрастания \n");
for (i = 0; i < n; i ++)
printf("%d ", A[i]);
break;
case 7:
s = 0;
printf("\nХарактеристика массива. \n");
printf("\nВ массиве есть хотя бы одно положительное чмсло? \n");
for (i = 0; i < n; i ++)
if(A[i] > 0)
s++;
if(s > 0)
printf("\nДа\n");
else
printf("\nНет\n");
break;
case 8:
s = 0;
for (i = 0; i < n; i ++)
if(A[i]>0)
{
B[s] = A[i];
s ++;
}
printf("\n\nНовый массив: \n");
for(i=0; i < s; i ++)
printf("%d ", B[i]);
break;
case 9:
break;
default:
printf("\nОшибка, введите номер операции: \n");
}
printf("\n\nЕсли вы хотите вернуться в меню, нажмите 1, если вы хотите
выйти из программы, нажмите 0\n");
scanf("%d", &f);
}
while(f == 1);
}