Дан массив, содержащий 70 целых чисел. Опишите на одном из языков программирования алгоритм, позволяющий найти и вывести наименьшее содержащееся в массиве положительное число, десятичная запись которого оканчивается цифрой 7. Гарантируется, что в массиве есть хотя бы один положительный элемент, десятичная запись которого оканчивается цифрой 7. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно
| Бэйсик | Паскаль |
|---|---|
N=70 DIM A(N) AS INTEGER DIM I, J, M AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I END
| const N=70; var a: array [1..N] of integer; i, j, m: integer; begin for i:=1 to N do readln(a[i]); end.
|
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; #define N 70 int main(){ int a[N]; int i, j, m; for (i=0; i < N; i++) cin >> a[i] ; | алг нач цел N=70 целтаб a[1:N] цел 1, j, m нц для i от 1 до N ввод а[i] кц кон |
| Python | |
# допускается также # использовать две # целочисленные переменные j, m a = [] n = 70 for i in range(0, n): a.append(int(input())) ... | |
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.
Решение на языке Си:
j = 10001;
for (i = 0; i < N; i++)
{ if ((a[i] < j) && (a[i] % 10 == 7) && (a[i] > 0) { j = a[i];} }
cout « j « endl;

