e-olymp 7843.Больше предыдущего

Задача

Задан массив целых чисел. Выведите все его элементы, которые больше предыдущего.

Входные данные

В первой строке записано количество чисел [latex]N[/latex] в массиве. В следующей строке записано [latex]N[/latex] целых чисел. Все числа по модулю не превышают [latex]100[/latex].

Выходные данные

Выведите элементы массива, которые больше предыдущих.

Тесты

 

Входные данные Выходные данные
1. 7
14 16 3 7 17 19 9
16 7 17 19
2. 5
3 5 2 4 1
5 4

Код

Решение

Перед циклом for считываем количество заданных чисел и первый элемент. Далее в цикле считываем следующий элемент и сравниваем с предыдущим. Выводим элемент, который больше предыдущего. Присвоим переменной a значение b, чтобы иметь возможность сравнивать и далее.

Ссылки

e-olymp 7847. Кількість різних елементів

Задача

Дано масив з [latex]N[/latex] цілих чисел. Визначте, скільки в цьому масиві різних елементів.

Вхідні дані

В першому рядку записано число [latex]N[/latex]. В наступному рядку записано [latex]N[/latex] цілих чисел. Всі числа за модулем не перевищують [latex]100[/latex].

Вихідні дані

Кількість різних елементів в масиві.

Тести

 

Вхідні дані Вихідні дані
1. 7
3 5 -7 7 5 -9 -4
6
2. 5
1 25 59 75 100
5
3. 6
1 2 3 1 2 4
4

Код 1

Код 1(without break)

Решение

Ставим отметку числу как будто видим его впервые.
Далее задача пройти по всем предыдущим числам и проверить не встретится ли такое же число.
Если встретится, то отметку снимаем, а пройдя по всем предыдущим числам так и не встретив числа равного текущему, значит «видим его впервые» и отметка поставлена справедливо.
Считаем количество отметок.

Ссылки

Код 2

Решение

Сначала, предположим, что все числа разные. Т.е. количество различных чисел равно [latex]n.[/latex] Далее в цикле for отметим читаем числа из потока и отмечаем в векторе vector<bool> a, что число встретилось. Встретив число ранее уже отмеченное уменьшаем счетчик различных чисел.

Ссылки

e-olymp 8638. Дописать тройку

Задача

Дано трёхзначное число $ n $. Дописать к нему слева и справа цифру $ 3 $.

Входные данные

Одно трехзначное число $ n $ .

Выходные данные

Дописать к числу $ n $ слева и справа цифру $ 3 $. Вывести полученное число.

Тесты

Входные данные Выходные данные
1. 333 33333
2. 261 32613
3. 123 31233
4. 060 30603

Код программы

Первый вариант

Второй вариант

Объяснение

Дано любое трёхзначное  число. Нужно  дописать $ 3 $ к нему слева и справа.

К первому варианту кода

Умножаем число на $ 10 $ и прибавляем $ 30003 $.

Ко второму варианту кода

Просто дописываем $ 3 $ слева и справа сразу в выводе.

Ссылки