Помогите! Дана последовательность чисел, которая оканчивается на 0. Найдите наименьшее число, которое оканчивается на 5. заранее спасибо) очень надо, сразу говорю) программа: Pascal ABC . net
Answers & Comments
vladmor
1.Как я понял, последовательность вводится с клавиатуры и признак окончания ввода - 0. Значит имеет смысл использовать цикл Repeat 2. Вводимые числа - целые. После этих уточнений можно написать код на PascalABC:
//Вариант с циклом repeat var a, min: integer;
begin min := 555555; repeat readln(a); if ((a mod 10 = 5) or (a mod 10 = -5)) and (a < min) then min := a; until a = 0; writeln(min); end.
//вариант с циклом while var a, min: integer;
begin min := 555555; readln(a); while (a>0) or (a<0) do begin if ((a mod 10 = 5) or (a mod 10 = -5)) and (a < min) then min := a; readln(a); end; writeln(min); end.
0 votes Thanks 0
vladmor
Сейчас набросаю вариант с циклом while, и вы убедитесь, что он малешко сложнее
TrueHacker228
и еще: обязательно присваивать мин число? или можно его как минимальное потом сделать?
vladmor
А как вы будете сравнивать каждое введенное число с минимальным?
vladmor
Если вы это сможете потом это сделать, то объясните, я у вас поучусь
TrueHacker228
ну сначала самое первое число присвоим(первое А,которое оканчивается на 5), затем уже их сравним- число мин меньше, чем А( чем новое А), то мы оставляем его минимумом. если же А новое меньше, чем минимум - тогда присваиваем ему новое значение.
vladmor
Отлично! у вас есть каркас программы, дальше можете экспериментировать.
TrueHacker228
я у вас помощи хотел попросить)) в информатике плохо шарю, а с остальными предметами все отлтчно(
TrueHacker228
Добрый день! я смог улучить программу!
Answers & Comments
2. Вводимые числа - целые.
После этих уточнений можно написать код на PascalABC:
//Вариант с циклом repeat
var
a, min: integer;
begin
min := 555555;
repeat
readln(a);
if ((a mod 10 = 5) or (a mod 10 = -5)) and (a < min) then
min := a;
until a = 0;
writeln(min);
end.
//вариант с циклом while
var
a, min: integer;
begin
min := 555555;
readln(a);
while (a>0) or (a<0) do begin
if ((a mod 10 = 5) or (a mod 10 = -5)) and (a < min) then
min := a;
readln(a);
end;
writeln(min);
end.