Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Ярослав Никитин
0 / 0 / 2
Регистрация: 13.04.2014
Сообщений: 70
#1

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

12.05.2014, 20:35. Просмотров 1059. Ответов 2
Метки нет (Все метки)

Последовательность состоит из натуральных чисел и завершается числом 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 минуты
Тип с плавающей точкой тоже проверял, не в этом дело.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2014, 20:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача №3069. Количество элементов, которые больше предыдущего (C++):

Подсчитать количество элементов последовательности, значения которых больше значения предыдущего элемента - C++
Дана последовательность из n действительных чисел.( Задачу нужно решить, используя одномерный массив) Подсчитать количество элементов,...

Определить количество элементов массива, которые меньше предыдущего и меньше последующего - C++
В целочисленном,одномерном массиве определить кол-во элементов, которые меньше предыдущего и меньше последующего

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

Определить количество элементов матрицы, которые больше суммы остальных элементов этого столбца - C++
Дана матрица А размером n х m. Определить k — количество особых элементов массива А, считая его элемент особым, если он больше суммы...

Найти номера тех элементов массива, которые больше своего правого соседа, и количество таких элементов - C++
1) Дан массив размера N. Найти номера тех элементов массива, которые больше своего правого соседа, и количество таких элементов. Найденные...

Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно) - C++
Задание : Дан одномерный массив b, найти индексы тех элементов массива , которые больше своего правого соседа и количество таких...

2
Tripolis
1 / 1 / 1
Регистрация: 21.03.2013
Сообщений: 10
12.05.2014, 20:43 #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;
}
1
Ярослав Никитин
0 / 0 / 2
Регистрация: 13.04.2014
Сообщений: 70
12.05.2014, 20:49  [ТС] #3
Все отлично, понял ошибку.

Добавлено через 54 секунды
C++
1
2
3
4
5
if ((count == 1) && (n > n1))
            {
                answer++;
            }
                n1 = n;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2014, 20:49
Привет! Вот еще темы с ответами:

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

Перегруженные функции вычисляющие количество элементов, которые больше своих соседей - C++
Написать реализации перегруженных функций: int func(double* arr, int length); int func(char* str); Функция func возвращает количество...

Для каждого элемента B[i] записать в L[i] количество элементов B[0..i-1], которые больше либо равны B[i] - C++
Народ. Помогите пожалуйста. Голову сломал. Дан массив B размера n. Надо заполнить массив L за линейное время следующим образом: для...

удаление элементов массива, которые равны сумме предыдущего и следующего элементов - C++
Нужно написать подпрограмму которая удаляет элементы массива, которые равны сумме предыдущего и следующего элементов


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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