Подсчитать сумму четных элементов - составить блок-схему по коду - 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;

Объяснение кода листинга программы

  1. Объявляются переменные: i, size, sum, ms, min_value, max_value, flag.
  2. Задается начальное значение переменной sum равное нулю.
  3. Задается начальное значение переменной flag равное false.
  4. Задается диапазон значений переменной i от 1 до size-1 с шагом 2.
  5. Для каждого нечетного индекса массива ms выполняется операция сложения значения элемента с переменной sum.
  6. Выводится сообщение о сумме четных элементов.
  7. Выводится сообщение о диапазоне четных элементов.
  8. Для каждого индекса массива ms выполняется проверка: если значение элемента больше или равно min_value и меньше или равно max_value, то выводится значение элемента, а переменная flag переводится в true.
  9. Если после цикла flag остается равным false, выводится сообщение о том, что четных элементов в массиве нет.
  10. Выполняется функция system(PAUSE).
  11. Возвращается 0.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы