Задача
Задан массив вещественных чисел. Найти первый элемент массива, значение которого не превышает 2.5.
Входные данные
В первой строке задано количество элементов массива [latex]n (0 < n ≤ 100)[/latex]. В следующей строке задано [latex]n[/latex] вещественных чисел.
Выходные данные
Вывести в одной строке сначала индекс найденного первого указанного элемента массива и его значение с 2 десятичными знаками. В случае отсутствия такого элемента в массиве вывести «Not Found» (без кавычек).
Тесты
Входные данные | Выходные данные | |
[latex]5 \\ 6 \; 7.5 \; 2.1 \; 2.0 \; 0[/latex] | [latex]3 \; 2.10[/latex] | |
[latex]5 \\ 6 \; 7.5 \; 5.1 \; 7.0 \; 80[/latex] | [latex]Not \; Found[/latex] | |
[latex]7 \\ 5 \; 4.7 \; 50 \; 8.9 \; 2.7 \; 3 \; 1.5[/latex] | [latex]7 \; 1.5[/latex] |
Решение задачи с помощью массивов
Код программы
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> #include <iomanip> using namespace std; int main() { int n; cin >> n; double *x = new double[n]; for (int i = 0; i < n; i++) { cin >> x[i]; } bool checker = 0; for (int i = 0; i < n; i++) { if (x[i] <= 2.5 && checker == false) { cout << i + 1 << ' ' << fixed << setprecision(2) << x[i]; checker = true; } } if (checker == false) cout << "Not Found"; delete []x; return 0; } |
Решение задачи
Введем обозначения: [latex]x[/latex] – имя массива, [latex]n[/latex] – количество элементов в массиве, [latex]i[/latex] – индекс элемента массива. Нам необходимо просмотреть весь массив. Если значение просматриваемого элемента не превышает 2,5, то в ответе вывести в одной строке сначала индекс найденного первого указанного элемента массива и его значение с 2 десятичными знаками. Если же такого элемента в массиве нет, вывести Not Found.
Решение задачи с помощью потоковой обработки
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include <iostream> #include <iomanip> using namespace std; int main() { double n; int size; cin >> size; for (int i = 0; i < size; i++) { cin >> n; if (n <= 2.5) { cout << i + 1 << ' ' << fixed << setprecision(2) << n; return 0; } } cout << "Not Found"; return 0; } |
Решение задачи
Будем просматривать все веденные элементы и для каждого осуществлять проверку, если элемент не превышает 2.5, тогда в ответе выводим в одной строке сначала индекс найдененого первого указанного элемента и его значение с 2 десятичными знаками. Если же такого элемента в массиве нет, выводим на экран Not Found.
Ссылки
Условие задачи на e-olymp
Код решения с помощью массивов на ideone
Код решения с помощью потоковой обработки на ideone