Сумма элементов массива между первым и вторым отрицательными элементами

127
20 июня 2019, 03:50

Всем доброго времени суток! Хотел бы попросить вас о помощи. Не могу понять, как сделать следующее задание. Нужно вычислить:"The sum of the array elements located between the first and second negative elements."

Есть тело кода, однако не могу выяснить, как посчитать сумму элементов массива, расположенных между первым и вторым отрицательными элементами.

Вот само тело кода:

#include <iostream>
#include <clocale>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctime>
using namespace std;
int main()
{
    using std::setlocale;
    setlocale(LC_ALL,"");
    srand(time( 0));
    int a[15],n,i,k, sum;
    printf("Выберите тип ввода: 1-c клавиатуры, 2-с помощью rand() ");
    scanf("%d",&k);
    if ((k>0)&&(k<=2))
    {
      printf ("Введите размер массива не более 15 элементов, n = ");
      scanf("%d",&n);
      printf("Массив A \n");
      switch(k) {
        case 2: for (i=0; i<n; i++){
                a[i] = rand()%21-10;    // Заполнение массива А случайными числами вдиапазоне -10..10
                printf("%4d",a[i]);}
                break;
         case 1: for (i=0; i<n; i++) scanf("%d",&a[i]);
                 break;
      }
    }
    else {puts("Не выбран тип ввода...");
          return 1;}
     sum=0;
     for(i=n;i>0;i--){
        if(a[i]>=0) sum+=a[i];
        else break;
     }
    cout<<"сумма после последнего отрицательного= "<<sum;

    return 0;
}
Answer 1

Ну логика же несложная. Встретили отрицательное - начали считать. Встретили второе - прекратили работу.

 sum=0;
 int state = 0;
 for(i=0;i<n;i++){
    if(a[i]<0)
        state++;
    if (state == 2) 
      break;
    if(a[i]>=0 && state==1)
         sum+=a[i];
 }
READ ALSO
Чем опасен выход за границы массива?

Чем опасен выход за границы массива?

Можно ли оставлять выход за границы массива в программах? Чем это грозит? Что происходит при выходе за его границы?

162
Найти по атрибуту и тегу атрибута данные внутри этого тега

Найти по атрибуту и тегу атрибута данные внутри этого тега

Пришлось полностью восстанавливать пример, у вас не хватаетgetNodeValue()

147
Работа с GridBagLayout()

Работа с GridBagLayout()

Подскажите пожалуйстаИмеется панель:

106