Уроки C++
Сумма элементов в массиве до последнего полжительного C++Для того чтобы “упереться” в последний положительный элемент нужно видоизменить привычный для нас цикл "for() написав "for (i=n-1; i>=0; i--)", и добавив два оператора "if()" и счётчик "kЭ". Вот код решения данной задачи, внимательного изучите его, что бы понять логику его работы:
#include "stdafx.h" #include "iostream" #include "time.h" #include "math.h" using namespace std; int main() { setlocale(LC_ALL, "Russian"); int i, k=0; int sum = 0; int n; cout << "Введите количесвто элементов: "; cin >> n; cout << endl; int *mas = new int [n]; srand(time(NULL)); for (i=0;i<n;i++) { mas[i]=rand()%20-(10+1)+1; cout << " " << mas[i]; } cout << "\r\n"; cout << "\r\n"; for(i=n-1; i>=0; i--) { if (k >= 1) sum += mas[i]; if (mas[i] >= 0) k++; } cout<< "Сумма= " << sum << endl; cout << "\r\n"; system("PAUSE"); return 0; }
Результат: << К списку заданий