Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 12

Найти сумму элементов одномерного массива расположенных до последнего положительного элемента

04.10.2015, 12:16. Показов 1539. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти сумму элементов одномерного массива, расположенных до последнего положительного элемента

написал программу, но что-то работает не так. помогите разобраться. еще необходимо выполнить проверки всех вводимых значений, то есть если в массиве совсем не будет положительных элементов, то это тоже нужно как-то вывести

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 <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL,".1251");
    const int nmax = 15;
    int i, n, S=0, max;
    int A[nmax];
    cout << "введите размер массива\n";
    cin >> n;
    if (n > nmax)
    {
        cout << "введен неверный размер массива!!!\n";
        return 0;
    }
 
    else
    cout << "введите элементы массива\n";
    for (i = 0; i<n; i++)
    cin >> A[i];
    for (i = n - 1; i >= 0; i--)
    {
        if (A[i]>0)
        {
            max = i;
            break;
        }
    }
    for (i = 0; i < max; i++)
    {
        S = S + A[i];
    }
            cout << "сумма элементов = "<< S << endl;
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.10.2015, 12:16
Ответы с готовыми решениями:

Найти сумму элементов массива, расположенных до последнего положительного элемента
В массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива, расположенных до последнего положительного элемента. ...

Найти сумму элементов массива, расположенных до последнего положительного элемента
В одномерном массиве, который состоит из N действительных элементов, вычислить: Сумму элементов массива, которые расположены до...

Найти сумму элементов массива, расположенных до последнего положительного элемента
2. Найти сумму элементов массива, расположенных до последнего положительного элемента.

5
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
04.10.2015, 12:29
Цитата Сообщение от Милена1 Посмотреть сообщение
if (n > nmax)
* * {
* * * * cout << "введен неверный размер массива!!!\n";
* * * * return 0;
* * }
то есть -1 нормально будет? Делайте динамический массив, где вы такой фигни набираетесь!?!??

Цитата Сообщение от Милена1 Посмотреть сообщение
for (i = n - 1; i >= 0; i--)
* * {
* * * * if (A[i]>0)
* * * * {
* * * * * * max = i;
* * * * * * break;
* * * * }
* * }
* * for (i = 0; i < max; i++)
* * {
* * * * S = S + A[i];
* * }
почему нельзя найти сумму в том же цикле?
0
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 12
04.10.2015, 12:37  [ТС]
массив должен быть статическим. размер задавать константой, а затем вводить самостоятельно. и затем сделать првоерку
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
04.10.2015, 12:41
17 строка
Цитата Сообщение от Милена1 Посмотреть сообщение
else
Удалите ее.
Во-первых она в принципе не нужна,
а во-вторых else будет действовать только на первую после else строку.
Остальные будут вне else, т.к. нет фигурных скобок.
0
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 12
04.10.2015, 12:48  [ТС]
немного исправил программу. помогите разобраться, как сделать так, чтобы вывести ошибку при всех отрицательных числах в массиве
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
# include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, ".1251");
    const int nmax = 15;
    int i, n, S = 0, max;
    int A[nmax];
    cout << "введите размер массива\n";
    cin >> n;
    if (n > nmax)
    {
        cout << "введен неверный размер массива!!!\n";
        return 0;
    }
        cout << "введите элементы массива\n";
    for (i = 0; i<n; i++)
        cin >> A[i];
    for (i = n - 1; i >= 0; i--)
    {
        if (A[i]>0)
 
        {
            max = i;
            for (i = 0; i < max; i++)
                S = S + A[i];
        }
    }
    cout << "сумма элементов = " << S << endl;
    return 0;
}
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
04.10.2015, 12:55
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool allNegative = true;
for (i = 0; i<n; i++)
{
   cin >> A[i];
   if (A[i]>0) 
      allNegative = false;
}
if (allNegative)
{
   cout << "введены только отрицательные числа!!!\n";
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.10.2015, 12:55
Помогаю со студенческими работами здесь

Найти сумму элементов массива, расположенных до последнего положительного элемента
В одномерной массиве из N вещественных элементов, вычислить: 1)максимальный элемент массива и его позицию(номер) (Это я сделал и все...

Найти сумму элементов массива, расположенных до последнего положительного элемента
2) сумму элементов массива, расположенных до последнего положительного элемента. #include &lt;iostream&gt; #include &lt;cmath&gt; ...

Найти сумму элементов массива, расположенных до последнего положительного элемента
В одномерном массиве, состоящем из n вещественных элементов, вычислить 2. Сумму элементов массива, расположенных до последнего...

Найти сумму элементов массива, расположенных до последнего положительного элемента
Вот такое задание нужно сделать на с++ в консольном приложении: В одномерном массиве, состоящем из n вещественных элементов,...

Найти сумму элементов массива, расположенных до последнего положительного элемента
В одномерном массиве, состоящем из n вещественных элементов, вычислить: Сумму элементов массива, расположенных до последнего положительного...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru