Определить наибольшее отрицательное число, оканчивающееся на 3 - PascalABC.NET
Формулировка задачи:
Вводится количество чисел, а затем сами числа. Нужно определить наибольшее отрицательное число оканчивающееся на 3
1. Задал кол-во (n)
2. Открыл цикл со счетчиком до n
3. Ввожу число и делаю проверку а) отрицательного б) оканчивающегося на 3 в) и проверку на максимальность. Все условия связываю логической операцией И
Ветка тогда не работает, помогите!
Решение задачи: «Определить наибольшее отрицательное число, оканчивающееся на 3»
textual
Листинг программы
var i,n,k,max,p: longint; begin readln(n); p:=0; for i:=1 to n do begin readln(k); if (k<0) and (k mod 10=-3)then if p=0 then begin p:=1; max:=k; end else if k>max then max:=k; end; if p=0 then writeln('Нет отрицательных чисел, кратных 3') else writeln('Максимальное отрицательное число, кратное 3=',max); end.
Объяснение кода листинга программы
- Переменная
n
инициализируется значением количества входных чисел, которые нужно проверить. - Переменная
p
инициализируется значением 0. Она используется для отслеживания первого отрицательного числа, кратного 3. - В цикле от 1 до
n
считываются входные числа. - Если текущее число отрицательное и последние цифры равны 3, то проверяется:
- Если
p
равно 0, то это первое отрицательное число, кратное 3, и поэтому:p
устанавливается в 1.max
устанавливается равным текущему числу.
- Если
p
равно 1, то текущее число большеmax
, поэтомуmax
устанавливается равным текущему числу.
- Если
- После цикла проверяется значение
p
. Если оно равно 0, то выводится сообщениеНет отрицательных чисел, кратных 3
. - Если
p
не равно 0, то выводится сообщениеМаксимальное отрицательное число, кратное 3=
, за которым следует значениеmax
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д