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

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

Восстановить пароль Регистрация
 
sanlex25
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 29
04.11.2013, 20:38     Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами #1
Помогите решить найти ошибку, код вроде как правильный, но все равно выдает ошибку, помогите найти ошибку, пожалуйста?

Вот собственно задание:

В одномерном целочисленном массиве (размер массива (не больше 20) и значения его элементов вводить с клавиатуры) вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами?

Вот мой код:

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
36
37
38
39
#include <iostream.h>
#include <conio.h>
void main()
{
       int m[20], n, i, kol = 0, s = 0;
       cout << "\t Input N (<=20) ";
       cin >> n;
       cout <<"\n\t Massiv A" << endl;
       for(i = 0; i < n; i++) {
                cout << "\t m[ " << i+1 << " ] = ";
                cin >> m[i];
       }
int n1 = 0, n2 = 0;
 for (i = 0; i < n; i++)
        {
        if (m[i] < 0)
                {
                n1 = i;
                break;
                }
                }
        for (i = n1+1; i < n; i++)
        {
        if (m[i] < 0)
                {
                n2 = i;
                break;
                }
                }
                if ((n2 != 0) && (n1 != n2))
        {
         for (i = n1+1; i < n2; i++)
                {
                 s+=i;
}
                }
                cout<<"\n sum="<<s;
        getch();
        }
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2013, 20:38     Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
04.11.2013, 20:42     Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами #2
sanlex25, а какие ошибки выдает?

Добавлено через 2 минуты
sanlex25, for (i = n1+1; i < n2; i++)
{
s+=i;
}
}
тут плюсуются индексы, а не элементы массива. Надо вот так наверно, если судить по вашему заданию
C++
1
 for (i = n1+1; i < n2; i++) s+=m[i];
EzCoding
25 / 11 / 1
Регистрация: 26.10.2013
Сообщений: 85
Записей в блоге: 1
04.11.2013, 20:47     Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
36
37
38
39
40
41
42
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
       int m[20], n, i, kol = 0, s = 0;
       cout << "\t Input N (<=20) ";
       cin >> n;
       cout <<"\n\t Massiv A" << endl;
       for(i = 0; i < n; i++) {
                cout << "\t m[ " << i+1 << " ] = ";
                cin >> m[i];
       }
int n1 = 0, n2 = 0;
 for (i = 0; i < n; i++)
        {
        if (m[i] < 0)
                {
                n1 = i;
                break;
                }
                }
        for (i = n1+1; i < n; i++)
        {
        if (m[i] < 0)
                {
                n2 = i;
                break;
                }
                }
                if ((n2 != 0) && (n1 != n2))
        {
         for (i = n1+1; i < n2; i++)
                {
                 s+=m[i];
}
                }
                cout<<"\n sum="<<s;
        getch();
        return 0;
 
        }
Исправил void на int, Добавил return 0, using namespace std; Исправил #include <iostream.h> на <iostream>.
Про void и без return'а это уже просто не красиво.
Все работает.
Yandex
Объявления
04.11.2013, 20:47     Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами
Ответ Создать тему
Опции темы

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