Нахождение произведения положительных элементов массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Вот есть задача:Написать программу нахождения произведения положительных элементов. Массив заполняется пользователем с клавиатуры. Результат вывести на экран. Вот код:
#include<stdio.h>
#include<conio.h>
void enterM(int mas[50], int n);
void com(int mas[50],int n);
void main(void)
    {
        int n,i=0,mas[50];
    printf("enter numbers:");
    scanf("%d",&n);
    enterM(mas,n);
    com(mas,n);
getch();
}
 
void enterM(int mas[50],int n)
    {
        int i;
    printf("enter elements of massif: \n");
    for(i=0;i<n;i++)
        {scanf("%d",&mas[i]);}
}
 
void com(int mas[50],int n)
    {
    int i,P=1;
    for(i=0;i<n;i++)
        if(mas[i]>0)
                {P=P*mas[i];}
    printf("Composition=%d\n",P);
}
Этот код нужно переделать к этим двум задачам: 1) Написать программу нахождения суммы четных положительных элементов. Массив заполняется пользователем с клавиатуры. Результат вывести на экран. 2)Написать программу нахождения суммы нечетных положительных элементов. Массив заполняется пользователем с клавиатуры. Результат вывести на экран. Помогите пожалуйста, завтра лабу сдавать.

Решение задачи: «Нахождение произведения положительных элементов массива»

textual
Листинг программы
#include<stdio.h>
#include<conio.h>
void enterM(int mas[50], int n);
void sumCH(int mas[50],int n);
void sumNeCH(int mas[50],int n);
void main(void)
    {
        int n,i=0,mas[50];
    printf("enter numbers:");
    scanf("%d",&n);
    enterM(mas,n);
    sumCH(mas,n);
    sumNeCH(mas,n);
getch();
}
 
void enterM(int mas[50],int n)
    {
        int i;
    printf("enter elements of massif: \n");
    for(i=0;i<n;i++)
        {scanf("%d",&mas[i]);}
}
 
void sumCH(int mas[50],int n)
    {
    int i,s=0;
    for(i=0;i<n;i++)
        if(mas[i]>0 && mas[i]%2==0)
                {s=s+mas[i];}
    printf("Summa chet=%d\n",s);
}
 
void sumNeCH(int mas[50],int n)
    {
    int i,s=0;
    for(i=0;i<n;i++)
        if(mas[i]>0 && mas[i]%2==1)
                {s=s+mas[i];}
    printf("Summa nechet=%d\n",s);
}

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

В этом коде выполняются следующие действия:

  1. Ввод количества чисел для заполнения массива с помощью функции scanf.
  2. Заполнение массива с помощью функции enterM, которая сначала запрашивает ввод элементов массива с помощью цикла for и функции scanf, а затем завершает ввод.
  3. Вычисление суммы четных положительных чисел с помощью функции sumCH, которая сначала инициализирует переменную s значением 0, а затем проходит по всем элементам массива с помощью цикла for. Если элемент массива является положительным числом и его остаток от деления на 2 равен 0, то он добавляется к переменной s.
  4. Вычисление суммы нечетных положительных чисел с помощью функции sumNeCH, которая работает аналогично функции sumCH, но добавляет элемент к переменной s только в том случае, если он не делится на 2 без остатка.
  5. Вывод суммы четных положительных чисел на экран с помощью функции printf.
  6. Вывод суммы нечетных положительных чисел на экран с помощью функции printf.
  7. Завершение работы программы с помощью функции getch.

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


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

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

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