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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Petax
3 / 2 / 0
Регистрация: 21.10.2013
Сообщений: 22
#1

Почему если массив начинается с положительного числа, то он не суммируется в общую сумму? - C++

21.11.2013, 18:29. Просмотров 254. Ответов 6
Метки нет (Все метки)

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
#include <iostream>
 
using namespace std;
int main()
{
    setlocale( LC_ALL,"Russian" );
    cout<<"Введите размер массива"<<endl;
    int size, max, sum;
    cin>>size;
    int* p=new int[size];
    for(int i=0;i<size;i++)
    {
        cout<<"Введите "<<i+1<<" элемент массива"<<endl;
        cin>>p[i];
    }
    cout<<"Ваш массив"<<endl;
    for(int i=0;i<size;i++)
        cout<<p[i]<<" ";
    cout<<endl;
    sum=0;
    for (int i=1; i<size; i++)
    {
        if (p[i]>0)
            sum+=p[i];
    }
    cout<<"Сумма положительных членов последовательности равна "<<sum<<endl;
    max=p[0];
    for (int i=1; i<size; i++)
    {
            if (max<p[i])
                max=p[i];
        }
    cout<<"Наибольший элемент последовательности: "<<max <<endl;
    system ("pause");
    return 0;
}
Почему если массив начинается с положительного числа, то он не суммируется в общую сумму?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2013, 18:29     Почему если массив начинается с положительного числа, то он не суммируется в общую сумму?
Посмотрите здесь:

Одномерный массив А суммируется из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза - C++
Помогите. Одномерный массив А суммируется из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза.

Найти номер наименьшего положительного числа в заданной последовательности. Если в ней отсутствуют положительные числа, ответом должно быть -1 - C++
Условие: Дано натуральное число n (n &lt; 100) и действительные числа 1a, 2a, ..., na. Найти номер наименьшего положительного числа в...

Определить сумму цифр положительного числа - C++
в школе дали задание на каникулы Дано положительное целое число. Требуется определить сумму его цифр. необходимо определить и...

Найти количество C цифр целого положительного числа K, а также их сумму S - C++
Описать функцию DigitCountSum(K, C, S), находящую количество C цифр целого положительного числа K, а также их сумму S (K — входной, C и S —...

Найти сумму третьей и четвертой с конца цифр положительного целого числа k - C++
Присвоить целой переменной h сумму третьей и четвертой с конца цифр положительного целого числа k (например, если k = 130985, то h = 9 + 0).

Одномерный массив, вывод номера положительного числа - C++
Добрый вечер! Очень нужна помощь в написании программы. Вроде элементарный вопрос, но не получается. Нужно вывести номера положительных...

Описать процедуру, находящую количество C цифр целого положительного числа K, а также их сумму - C++
Описать процедуру DigitCountSum(K, C, S), находящую количество C цифр целого положительного числа K, а также их сумму S (K — входной, C и S...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,996
21.11.2013, 18:33     Почему если массив начинается с положительного числа, то он не суммируется в общую сумму? #2
Цитата Сообщение от Petax Посмотреть сообщение
for (int i=1; i<size; i++) { if (p[i]>0) sum+=p[i]; }
почему 1
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
21.11.2013, 18:35     Почему если массив начинается с положительного числа, то он не суммируется в общую сумму? #3
Petax,
C++
    for (int i=1; i<size; i++) /// Может быть потому что i = 1
    {
            if (max<p[i])
                max=p[i];
            else 
                max=max;
    }
dero
1 / 1 / 1
Регистрация: 12.10.2012
Сообщений: 41
21.11.2013, 18:37     Почему если массив начинается с положительного числа, то он не суммируется в общую сумму? #4
Инициализация массива с 0 элемента начинается, а проверка с 1:
C++
1
2
for(int i=0;i<size;i++)
for (int i=1; i<size; i++)
Вот исправленный код:

Кликните здесь для просмотра всего текста
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
#include <iostream>
 
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    cout << "Введите размер массива" << endl;
    int size, max, sum;
    cin >> size;
    int* p = new int[size];
    for (int i = 1; i<=size; i++)
    {
        cout << "Введите " << i << " элемент массива" << endl;
        cin >> p[i];
    }
    cout << "Ваш массив" << endl;
    for (int i = 1; i<=size; i++)
        cout << p[i] << " ";
    cout << endl;
    sum = 0;
    for (int i = 1; i<=size; i++)
    {
        if (p[i]>0)
            sum += p[i];
    }
    cout << "Сумма положительных членов последовательности равна " << sum << endl;
    max = p[0];
    for (int i = 1; i<=size; i++)
    {
        if (max<p[i])
            max = p[i];
        else
            max = max;
    }
    cout << "Наибольший элемент последовательности: " << max << endl;
    system("pause");
    return 0;
}
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
21.11.2013, 18:40     Почему если массив начинается с положительного числа, то он не суммируется в общую сумму? #5
dero, вы уверены? А что будет с p[i] когда i = size ?
Petax
3 / 2 / 0
Регистрация: 21.10.2013
Сообщений: 22
21.11.2013, 18:40  [ТС]     Почему если массив начинается с положительного числа, то он не суммируется в общую сумму? #6
Спасибо большое.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2013, 18:42     Почему если массив начинается с положительного числа, то он не суммируется в общую сумму?
Еще ссылки по теме:

Массив: Вычислить сумму элементов массива расположенных до последнего положительного элемента. - C++
В одномерном массиве состоящем из n вещественных элементов вычислить: 1) максимальный элемент массива(это сделано) 2) сумму элементов...

Массив: Вычислить сумму элементов массива, расположенных до последнего положительного элемента. - C++
Разработать алгоритм и программу по обработке элементов одномерного или двумерного динамического массива Размерность массива...

Не работает, если массив динамический ?! Почему? - C++
Простая задача, есть текст , удалить из него набор символов, вот код - все работает -&gt; char c...

Почему, если я объявляю массив, он весит больше? - C++
задаю массив char*array = new char; а в оперативе массив занимает 4 килобайта. почему так происходит, и как такого избежать? ...

Ввести код товара и количество, показать название и сумму за данный товар, а также общую сумму - C++
Нужно решить задание, но я его к сожалению не понимаю, если вы можете, то помогите с решением. Вот собственно само задание : &quot;Цикл...


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

Или воспользуйтесь поиском по форуму:
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
21.11.2013, 18:42     Почему если массив начинается с положительного числа, то он не суммируется в общую сумму? #7
И вообще, в С++ индексация массивов начинается с 0
Yandex
Объявления
21.11.2013, 18:42     Почему если массив начинается с положительного числа, то он не суммируется в общую сумму?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru