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

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

Восстановить пароль Регистрация
 
 
mmeexx
0 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 159
21.02.2014, 17:33     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами #1
На С++ написана программа подсчета суммы элементов массива между первым и вторым отрицательными элементами . Но не получается сделать вывод сообщения о том, что нет положительных элементов между ними. Пробовал очень много, но не получается. Помогите пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
  #include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{    
    int i1,i2;
    int s;
int n;
cout<<"Enter the number of elements in the array:";/* Ввод  количества элементов массива*/
cin>>n;
int a [n];
 s=0;
for ( int i =0; i<n; i++) {  /*ввод массива*/
    cout<<"a["<<i<<"]=";
    cin>>a[i];
     for (int i=0; i<n; i++){ /*Нахождение первого отрицательного*/
        if (a[i] < 0)
        {
            i1 = i;
            break; /*если нашли, то сразу выход из цикла*/
        }
}
    for (int i=i1+1; n; i++) /*поиск второго отрицательного элемента*/
 {       if (a[i] < 0)
        {
            i2 = i;
            break;/* Выход из цикла */
  }   
    for (int i=i1+1; i<i2; i++) /*подсчет суммы и вывод на экран*/
    {    s=s+a[i];}
    cout << "s= " << s ;}
} 
    system("PAUSE");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2014, 17:33     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами
Посмотрите здесь:

Найти сумму элементов между первым и вторым отрицательными элементами массива C++
Массив: вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами. C++
C++ Сумму элементов массива, расположенных между первым и последним отрицательными элементами
сумму элементов массива, расположенных между первым и последним отрицательными элементами C++
C++ Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
21.02.2014, 21:30     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами #21
Цитата Сообщение от Тамика Посмотреть сообщение
Ну так у выражения i1 == i2 тип bool. И результат в итоге - false.
тип bool появился относительно недавно, лет так десять пятнадцать назад
и до сих пор встречаются компиляторы, которые его не знают
а эта конструкция будет в них работать, так что дело не в преобразовании
хотя формально все правильно
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mmeexx
0 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 159
21.02.2014, 21:33  [ТС]     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами #22
Выскакивает что то типа http://www.cyberforum.ru/attachments/368420d1392996639
some_name
Вежливость-главное оружие
 Аватар для some_name
219 / 219 / 55
Регистрация: 19.02.2013
Сообщений: 1,419
21.02.2014, 21:43     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами #23
Вывод  на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами

Код правильно скопировали? У меня все нормально работает.
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,045
21.02.2014, 21:49     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами #24
mmeexx,
по моему ты не в ту сторону поехал
Цитата Сообщение от mmeexx Посмотреть сообщение
подсчета суммы элементов массива между первым и вторым отрицательными элементами . Но не получается сделать вывод сообщения о том, что нет положительных элементов между ними.
если нет положительных то сумма равна 0
0 не является положительным числом
тогда примерно так это решается
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
int neg=0;
int sum=0;
for(int i=0;i<n;i++)
 {
  if(a[i]<0)
  {
     if(neg==0)
      {
       neg=1;
       }
      else
      {
       neg=2;
       break; 
      }
   }
  else
   {
     if(neg==1)
       sum+a[i];     
   }
 }
if(neg==0)
  count<<"Error no negativ\n";
if(neg==1)
   count<<"Error one negativ\n";
 
if(neg==2)
 {
   if(sum!=0)
     count<<sum; 
  else
     count<<"Error no positiv; 
}
mmeexx
0 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 159
21.02.2014, 22:34  [ТС]     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами #25
У меня без сслки на массив. Может быть из-за этого?
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
21.02.2014, 23:34     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами #26
Цитата Сообщение от ValeryS Посмотреть сообщение
тип bool появился относительно недавно, лет так десять пятнадцать назад
и до сих пор встречаются компиляторы, которые его не знают
а эта конструкция будет в них работать, так что дело не в преобразовании
хотя формально все правильно
Старые компиляторы, которые не знают bool - это относится к "достандартной эре". Потому какой смысл их упоминать? Я стараюсь придерживаться последних стандартов, иначе какой смысл что-то улучшать?
some_name
Вежливость-главное оружие
 Аватар для some_name
219 / 219 / 55
Регистрация: 19.02.2013
Сообщений: 1,419
22.02.2014, 00:33     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами #27
"Не забываем сказать спасибо" народная мудрость

Добавлено через 35 секунд
mmeexx, опиши ошибку нормально. скрин выложи...
mmeexx
0 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 159
17.06.2014, 17:56  [ТС]     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами #28
Спасибо всем кто откликнулся
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2014, 18:23     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами
Еще ссылки по теме:

C++ вычислить: 1) номер минимального элемента массива; 2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами
C++ Найти сумму элементов массива, расположенных между первым и вторым отрицательными элементами
C++ Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Trwsdf
Заблокирован
17.06.2014, 18:23     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами #29
Цитата Сообщение от mmeexx Посмотреть сообщение
программа подсчета суммы элементов массива между первым и вторым отрицательными элементами .
C++
1
2
3
4
5
6
7
8
9
10
   int size = (cout<<"Input count elements"<<endl,cin>>size, size), * array = new int[size];
    pair<bool, int> result(false, 0);
    for (int i = (cout<<"Input elements"<<endl,0); i < size; i++) {
        if ((cin >> array[i], array[i]) > 0 && result.first)result.second+=array[i];
        if (array[i] < 0 && result.first) {
            cout << result.second;
            delete[] array;
            break;
        } else if (array[i] < 0) result.first = true;
    };
Yandex
Объявления
17.06.2014, 18:23     Вывод на экран подсчета суммы элементов массива между первым и вторым отрицательными элементами
Ответ Создать тему
Опции темы

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