Найти сумму всех отрицательных и сумму всех положительных элементов массива - 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, что означает успешное завершение.