Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
AZIZBEK
 Аватар для AZIZBEK
0 / 0 / 0
Регистрация: 16.06.2012
Сообщений: 37
05.09.2012, 22:55     Сумма между первым и последним отрицательными элементами #1
Вычислить сумму находящихся между первым и последним отрицательными элементами
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2012, 22:55     Сумма между первым и последним отрицательными элементами
Посмотрите здесь:

C++ Сумма элементов массива, расположенных между первым и последним отрицательными элементами
C++ вычислите сумму элементов, которая расположена между теми элементами,которые сами расположены между первым и последним отрицательными элементами.
C++ Сумму элементов массива, расположенных между первым и последним отрицательными элементами
сумму элементов массива, расположенных между первым и последним отрицательными элементами C++
Вычислите сумму элементов, находящихся между первым и последним отрицательными элементами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
novak
2 / 2 / 0
Регистрация: 14.04.2011
Сообщений: 141
05.09.2012, 23:31     Сумма между первым и последним отрицательными элементами #2
Поточнее задание-слишком туманно.

Добавлено через 22 минуты
Что-то типа того:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main()
{int first,last,sum=0,lastp,firstp;
cout << "Введите первое значение:" << endl;
    cin>>first;
 cout << "Введите последнее значение:" << endl;
    cin>>last;
    lastp=last*(-1);
    firstp=first*(-1);
 
    for(firstp++;firstp<lastp;firstp++)
    {sum+=firstp;}
     cout << sum*(-1) << endl;
    return 0;
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
05.09.2012, 23:39     Сумма между первым и последним отрицательными элементами #3
Если уже есть массив a[] размером n, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
int i=0, j=n-1, sum=0;
while(i<n && a[i]>=0) i++;
i++;
while(j>=0 && a[j]>=0) j--;
j--;
while(i<=j)
{
    sum+=a[j]; 
    j--;
}
// вот здесь в переменной sum находится нужное значение
ValeryS
Модератор
6374 / 4840 / 442
Регистрация: 14.02.2011
Сообщений: 16,043
05.09.2012, 23:54     Сумма между первым и последним отрицательными элементами #4
двумя циклами
C++
1
2
3
4
5
6
7
8
9
10
11
12
int first=-1;
int  last=-1;
int summ=0;
for(int i=0;i<size;i++)
{
  if(arr[i]<0 && first<0)
     first=i;
  if(arr[i]<0)
      last =i;
}
  for(int i=first+1; i<last i++)
       summ+=arr[i];
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
06.09.2012, 00:02     Сумма между первым и последним отрицательными элементами #5
Одним циклом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int sum = 0, acc = 0;
bool started = false;
for(int i = 0; i < size; i++)
{
    if(arr[i] < 0)
    {
        if(!started)
        {
            acc = 0;
            started = true;
        }
        else
        {
            sum += acc;
            acc = arr[i];
        }
    }
    else
        acc += arr[i];
}
Yandex
Объявления
06.09.2012, 00:02     Сумма между первым и последним отрицательными элементами
Ответ Создать тему
Опции темы

Текущее время: 16:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru