Найти сумму всех отрицательных и сумму всех положительных элементов массива - 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;/*конец*/ }
Объяснение кода листинга программы
В этом коде:
- Объявлены следующие переменные:
arr
- указатель на массив целых чисел, инициализированный значениемNULL
(указатель наNULL
обычно используется для представлениянеизвестного
илинеопределенного
значения).size
- переменная типаint
, которая будет использоваться для хранения размера массива.i
- переменная-счетчик, используемая в циклах.sumPos
иsumNeg
- переменные типаint
, которые будут использоваться для хранения суммы положительных и отрицательных чисел соответственно.
- Пользователю предлагается ввести размер массива.
- Выделена память под массив
arr
с помощью функцииcalloc
. - Пользователю предлагается ввести числа для заполнения массива.
- Два вложенных цикла используются для перебора всех элементов массива.
- Если элемент массива больше или равен нулю, то его значение добавляется к
sumPos
. - Если элемент массива меньше нуля, то его значение добавляется к
sumNeg
. - После завершения циклов выводятся суммы положительных и отрицательных чисел.
- Память, выделенная под массив, освобождается с помощью функции
free
. - Программа возвращает
0
, что означает успешное завершение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д