Суммирование отрицательных элементов массива - C (СИ)
Формулировка задачи:
Всем привет!
Помогите решить проблему.
Выводит сумму массива , но не правильно. Необходимо чтоб выводилось одно число, а у меня получается такая каша---
#include<iostream> #include<conio.h> using namespace std; int sum = 0; int main() { setlocale(LC_ALL, "rus"); cout << "\t\t\tЭлементы массива C: \n\n"; int masC[10] = { 2,-1,-43,33,79,-19,10,-4,3,-33 }; int size = 10; int masB[10] = {}; int per = 0; for (int i = 0; i<10; i++) { cout << masC[i] << "\t"; } for (int i = 0; i<10; i++) { if (masC[i]<0) masB[i] = masC[i]; } for (int a = 1; a < size; a++) { for (int b = size - 1; b >= a; b--) { if (masB[b - 1]>masB[b]) { per = masB[b - 1]; masB[b - 1] = masB[b]; masB[b] = per; } } } cout << endl; cout << "\t\t* Записать в массив В целых чисел *\n\t * в порядке убывания отрицательные элементы массива С *\n\n\t\t\t\tМассив B:\n\n"; for (int i = 0; i<10; i++) cout << masB[i] << "\t"; cout << "\n\nСумма:"; for (int i = 0; i<10; i++) { if(masB[i]<0) sum += masB[i]; cout <<sum; } _getch(); return 0; }
Решение задачи: «Суммирование отрицательных элементов массива»
textual
Листинг программы
#include<iostream> #include<conio.h> using namespace std; int sum = 0; int main() { setlocale(LC_ALL, "rus"); cout << "\t\t\tЭлементы массива C: \n\n"; int masC[10] = { 2,-1,-43,33,79,-19,10,-4,3,-33 }; int size = 10; int masB[10] = {}; int per = 0; for (int i = 0; i<10; i++) { cout << masC[i] << "\t"; } for (int i = 0; i<10; i++) { if (masC[i]<0) masB[i] = masC[i]; } for (int a = 1; a < size; a++) { for (int b = size - 1; b >= a; b--) { if (masB[b - 1]>masB[b]) { per = masB[b - 1]; masB[b - 1] = masB[b]; masB[b] = per; } } } cout << endl; cout << "\t\t* Записать в массив В целых чисел *\n\t * в порядке убывания отрицательные элементы массива С *\n\n\t\t\t\tМассив B:\n\n"; for (int i = 0; i<10; i++) cout << masB[i] << "\t"; cout << "\n\nСумма:"; for (int i = 0; i<10; i++) { if(masB[i]<0) sum += masB[i]; } cout <<sum; _getch(); return 0; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы.
- Объявляются переменные: sum - для хранения суммы отрицательных элементов массива; masC - массив, содержащий элементы для обработки; size - размер массива masC; masB - массив для хранения элементов, отсортированных по убыванию; per - для временного хранения элемента.
- Выводится приглашение для ввода элементов массива masC.
- Заполняется массив masC.
- Выводится приглашение для ввода элементов массива masB.
- Создается цикл для перебора элементов массива masC и проверки их знака. Если элемент отрицательный, он копируется в соответствующую позицию массива masB.
- Создается цикл для сортировки элементов массива masB по убыванию.
- Выводится приглашение для ввода элементов массива masB.
- Создается цикл для перебора элементов массива masB и нахождения их суммы.
- Выводится сумма элементов массива masB.
- Ждется нажатие клавиши для выхода из программы.
- Возвращается 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д