var
Ch, Mes, MaxCh: Integer;
begin
Write ('Введите число (1-31):');
ReadLn (Ch);
if (Ch < 1) or (Ch > 31) then begin
WriteLn ('Введено некорректное число');
Exit;
end;
Write ('Введите месяц (1-12): ');
ReadLn (Mes);
if (Mes < 1) or (Mes > 12) then begin
WriteLn ('Введен некорректный месяц');
Exit;
end;
case Mes of
1, 3, 5, 7, 8, 10, 12: MaxCh := 31;
4, 6, 9, 11: MaxCh := 30;
2: MaxCh := 28;
end;
if Ch <= MaxCh then
WriteLn ('Дата правильная')
else
WriteLn ('Дата неправильная!');
end.
// в программе не учитывается то, что в високосном году февраль имеет 29 дней
программа с комментариями, если все равно не понятно спрашивай
для проверки программы рекомендую n поставить где нибудь на 10 потому что вводить 1000 чисел с клавиатуры то еще удавольствие :))
числа можно вводить по одному или одной строкой через пробел
const
n = 1000; // длина массива
var
d : array of integer := new integer[n]; // объявляем и создаем массив
a, b : integer;
begin
// вводим числа в массив //
writeln('введите данные в массив:');
for var i := 0 to n-1 do begin
read(a);
d[i] := a;
end;
writeln('введен массив d=', d); // выводим массив на экран
// переворачиваем данные в массиве //
// для этого меняем первое с последним, второе с предпоследним //
// и так до середины //
for var i := 0 to (n div 2)-1 do begin
a := d[i];
d[i] := d[n-i-1];
d[n-i-1] := a;
end;
writeln('переворачиваем массив d=', d); // выводим перевернутый массив
write('числа у которых первая цифра больше последней:');
// ищем и ввыводим числа с заданным условием //
for var i := 0 to n-1 do begin
// находим чему равна 1 цифра //
b := d[i];
repeat
b := b div 10;
until b < 10;
if b > d[i] mod 10 then write(' ', d[i]); // сравниваем первую и последнюю цифры и ели первая больше то выводим число
end;
end.
1.4.
1.5.
1.6.
Потребуется использовать