Найти сумму всех отрицательных и сумму всех положительных элементов массива - 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
, что означает успешное завершение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д