Подсчитать сумму четных элементов - составить блок-схему по коду - C (СИ)
Формулировка задачи:
Как будет выглядеть блок схема?
Вот задание:Ввести линейный целочисленный массив до 50 элементов,подсчитать сумму четных элементов,вывести элементы находящиеся в заданном диапазоне. Проконтролировать введенную размерность и данные на корректность.Выполнить обработку введенных данных. Вывести результат обработки.
Код этого задания:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int ms[50], i, size, min_value, max_value, sum=0,t;
bool flag=false;
do
{
printf("\nVvedite razmernost massiva (do 50 elements): ");
scanf("%d", &size);
} while(size<=0 || size>50);
puts("\nVvedite chelochislennii massiv chisel:");
for (i=0; i<size; i++)
{
printf("\n%d element massiva: ", i+1);
scanf("%d", ms+i);
}
puts("\nVvedennii massiv chisel:");
for (i=0; i<size; i++)
printf("%4d", *(ms+i));
puts("\n\nVvedite diapozon chisel:");
printf("\nOt: ");
scanf("%d", &min_value);
printf("\nDo: ");
scanf("%d", &max_value);
if (min_value>max_value)
{
t=min_value;
min_value=max_value;
max_value=t;
}
for (i=1; i<size; i+=2)
sum+=*(ms+i);
printf("\nSumma chetnih elements massiva ravna %d\n", sum);
printf("\nElements massiva lejashie v diapozone ot %d Do %d:\n", min_value, max_value);
for (i=0; i<size; i++)
if (*(ms+i)>=min_value && *(ms+i)<=max_value)
{
printf("%4d", *(ms+i));
flag=true;
}
if (flag==false)
printf("\nTakih elements v massive net!");
system("PAUSE");
return 0;
}Решение задачи: «Подсчитать сумму четных элементов - составить блок-схему по коду»
textual
Листинг программы
for (i=1; i<size; i+=2)
sum+=*(ms+i);
printf("\nSumma chetnih elements massiva ravna %d\n", sum);
printf("\nElements massiva lejashie v diapozone ot %d Do %d:\n", min_value, max_value);
for (i=0; i<size; i++)
if (*(ms+i)>=min_value && *(ms+i)<=max_value)
{
printf("%4d", *(ms+i));
flag=true;
}
if (flag==false)
printf("\nTakih elements v massive net!");
system("PAUSE");
return 0;
Объяснение кода листинга программы
- Объявляются переменные: i, size, sum, ms, min_value, max_value, flag.
- Задается начальное значение переменной sum равное нулю.
- Задается начальное значение переменной flag равное false.
- Задается диапазон значений переменной i от 1 до size-1 с шагом 2.
- Для каждого нечетного индекса массива ms выполняется операция сложения значения элемента с переменной sum.
- Выводится сообщение о сумме четных элементов.
- Выводится сообщение о диапазоне четных элементов.
- Для каждого индекса массива ms выполняется проверка: если значение элемента больше или равно min_value и меньше или равно max_value, то выводится значение элемента, а переменная flag переводится в true.
- Если после цикла flag остается равным false, выводится сообщение о том, что четных элементов в массиве нет.
- Выполняется функция system(
PAUSE). - Возвращается 0.