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

Задача №3069. Количество элементов, которые больше предыдущего - C++

Восстановить пароль Регистрация
 
Ярослав Никитин
 Аватар для Ярослав Никитин
0 / 0 / 2
Регистрация: 13.04.2014
Сообщений: 70
12.05.2014, 20:35     Задача №3069. Количество элементов, которые больше предыдущего #1
Последовательность состоит из натуральных чисел и завершается числом 0. Определите, сколько элементов этой последовательности больше предыдущего элемента.

Числа, следующие за числом 0, считывать не нужно. 1, 7, 9, 0 = 2.
Задача вроде не сложная, решил. Но система проверки ругается: пишет что частичное решение.

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
#include <iostream>
using namespace std;
 
int main()
{ 
    int n = 1, n1, count = 0, answer = 0;
    while (n != 0)
    {
        cin >> n;
        if (n != 0)
        {
            if (count == 0)
            {
                count++;
                n1 = n;
            }
 
            if ((count == 1) && (n > n1))
            {
                answer++;
                n1 = n;
            }
        }
    }
    cout << answer;
    system("pause");
    return 0;
}
Где недочет? Провел несколько тестов, отрицательные, одинаковые и т.д. проверял.

Добавлено через 2 минуты
Тип с плавающей точкой тоже проверял, не в этом дело.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2014, 20:35     Задача №3069. Количество элементов, которые больше предыдущего
Посмотрите здесь:

C++ В массиве A из N элементов (N не больше 30) определить количество элементов, имеющих четные значения, и сумму этих элементов.
C++ Цикл while: Определить, сколько элементов этой последовательности больше предыдущего элемента
Вывести количество элементов массива, которые строго больше обоих своих соседей (исправить) C++
C++ Найти номера тех элементов массива, которые больше своего правого соседа, и количество таких элементов
C++ Многомерные массивы. Поиск количества тех элементов матрицы,которые больше суммы остальных элементов своего столбца
C++ Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно)
C++ В одномерном массиве определить и вывести на экран количество элементов, которые меньше левого, но больше прав
Вывести индексы тех элементов, значения которых больше значения предыдущего C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tripolis
1 / 1 / 1
Регистрация: 21.03.2013
Сообщений: 10
12.05.2014, 20:43     Задача №3069. Количество элементов, которые больше предыдущего #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вы не сохраняет значение n1, если не выполняется условие (n > n1). Попробуйте так
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
#include <iostream>
using namespace std;
 
int main()
{ 
    int n = 1, n1, count = 0, answer = 0;
    while (n != 0)
    {
        cin >> n;
        if (n != 0)
        {
            if (count == 0)
                count++;
 
            if ((count == 1) && (n > n1))
                answer++;
            
            n1 = n;
        }
    }
    cout << answer;
    system("pause");
    return 0;
}
Ярослав Никитин
 Аватар для Ярослав Никитин
0 / 0 / 2
Регистрация: 13.04.2014
Сообщений: 70
12.05.2014, 20:49  [ТС]     Задача №3069. Количество элементов, которые больше предыдущего #3
Все отлично, понял ошибку.

Добавлено через 54 секунды
C++
1
2
3
4
5
if ((count == 1) && (n > n1))
            {
                answer++;
            }
                n1 = n;
Yandex
Объявления
12.05.2014, 20:49     Задача №3069. Количество элементов, которые больше предыдущего
Ответ Создать тему
Опции темы

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