Задание № 7486

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от —1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, оканчивающихся на 5. Если в исходном массиве нет элемента, значение которого положительно и оканчивается цифрой 5, то вывести сообщение «Не найдено». Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

Бейсик

N = 30
DIM A(N) AS INTEGER
DIM I, J, MIN AS INTEGER
FOR I = 1 TO N
	INPUT A(I)
NEXT I
. . .
END

Паскаль

const
	N = 30;
var
	a: array [1..N] of integer;
	i, j, min: integer;
begin
	for i := 1 to N do
		readln(a[i]);
end.

Си

#include <stdio.h>
# define N 30
void main() {
	int a[N];
	int i, j, min;
	for (i = 0; i < N; i++)
		scanf("%d", &a[i]);
	...
}

Алгоритмический язык

алг
нач
	цел N = 30
	целтаб а[1:N]
	цел i, j, min
	нц для i от 1 до N
		ввод a[i]
	кц
	...
кон

Естественный язык

Объявляем массив А из 30 элементов. 
Объявляем целочисленные переменные I, J, MIN.
В цикле от 1 до 30 вводим элементы массива А с 1-го по 30-й.

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).


Решать другие задания по теме: Ал­го­рит­мы обработки массивов

Показать ответ
Комментарий:

Содержание верного ответа

На языке Паскаль

 min := 1001;
for i := 1 to N do
	if (a[i] > 0) and (a[i] mod 10 = 5) and (a[i] < min) then 
		min := a[i];
if min < 1001 then writeln(min) else writeln('He найдено');

На алгоритмическом языке

 min := 1001 нц для i от 1 до N
	если а[i] > 0 и mod(a[i], 10) = 5 и a[i] < min 
	то
		min := а [i] 
	все 
кц
если min < 1001 
то
	вывод min 
иначе
	вывод "Не найдено" 
все

На языке Бейсик

 MIN = 1001 FOR 1=1 ТО N
	IF А(I) > 0 AND А(I) MOD 10 = 5 AND А(I) < MIN THEN 
		MIN = A(I)
	END IF 
NEXT I
IF MIN < 1001 THEN 
	PRINT MIN 
ELSE
	PRINT "He найдено"
END IF

На языке Си

min = 1001;
for (i = 0; i < N; i++)
	if (a[i] > 0 && a[i] % 10 == 5 && a[i] < min)
		min = a[i];
if (min < 1001)
	printf("%d", min);
else
	printf("Не найдено");
Ответ:

Нашли ошибку в задании? Выделите фрагмент и нажмите Ctrl + Enter.