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

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

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

Ребята, помогите пожалуйста, нужно ввести массив, а затем вычислить сумму всех отрицательных чисел и сумму всех положительных чисел. Программа выводит произведение всех элементов
#include<stdio.h>
#include<conio.h>
#include<locale.h> 
#include<math.h>
int main()
{
int n, i; 
int summ=0, dobutok=0;
setlocale (LC_ALL, "Russian");
printf("Введите количество элементов массива:"); 
scanf("%d", &n);
int A[n];
for(i=0; i<n; i++){
printf("A[%d] = ", i);
scanf("%d", &A[i]);}
for(i=0;i<n;i++){
if(A[i] > 0)
            summ += A[i];
if(A[i] < 0)
            dobutok*= A[i];
}
printf("%d", summ);
printf("%d", dobutok);
system("pause");
   return 0;
}
ой, уже решила, спасибо))

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

textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>
 
int main() {
    int *arr = NULL, size,i,sumPos=0,sumNeg=0;/*параметры*/
    printf("Enter a size of your array: ");/*размер массива*/
    scanf("%d", &size);
    arr = (int*)calloc(size, sizeof(int));/*выделение памяти массиву*/
    printf("Enter a numbers: ");/*в вод данных в массив*/
    for (i = 0; i < size; i++)/*луп для в вода*/
        scanf("%d", &arr[i]);
    for (i = 0; i < size; i++) {/*луп для проверки*/
        if (arr[i] >= 0)/*если положительное*/
            sumPos = sumPos + arr[i];/*сумма*/
        if (arr[i] < 0)/*если отрецательное*/
            sumNeg = sumNeg + arr[i];/*сумма*/
    }
    printf("The sum of positive numbers is: %d\nThe sum of negative numbers is:%d\n", sumPos, sumNeg);/*вывод на экран*/
    free(arr);/*освобождение памяти*/
    return 0;/*конец*/
}

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

В этом коде:

  1. Объявлены следующие переменные:
    • arr - указатель на массив целых чисел, инициализированный значением NULL (указатель на NULL обычно используется для представления неизвестного или неопределенного значения).
    • size - переменная типа int, которая будет использоваться для хранения размера массива.
    • i - переменная-счетчик, используемая в циклах.
    • sumPos и sumNeg - переменные типа int, которые будут использоваться для хранения суммы положительных и отрицательных чисел соответственно.
  2. Пользователю предлагается ввести размер массива.
  3. Выделена память под массив arr с помощью функции calloc.
  4. Пользователю предлагается ввести числа для заполнения массива.
  5. Два вложенных цикла используются для перебора всех элементов массива.
  6. Если элемент массива больше или равен нулю, то его значение добавляется к sumPos.
  7. Если элемент массива меньше нуля, то его значение добавляется к sumNeg.
  8. После завершения циклов выводятся суммы положительных и отрицательных чисел.
  9. Память, выделенная под массив, освобождается с помощью функции free.
  10. Программа возвращает 0, что означает успешное завершение.

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


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

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

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