Дан массив, заполненный случайными натуральными числами в диапазоне от 1 до 30000. Напишите подпрограмму, которая в этом массиве заменит все элементы у которых 1-я и последняя цифры равны (включая однозначные числа) на 0.
Например из массива: 1 22 33 4444 533 36, получим 0 0 0 0 533 36.
Размер массива заранее задан константой N. Используйте заголовок:
procedure zamena(var a: TMas);
Тип ТMas задан как array[1..N] of longint и может использоваться для описания параметров подпрограмм.
var
n, k, s, sa: integer;
begin
k := 0;
s := 0;
sa := 0;
writeln('Введите последовательность, окончание ввода - число 0');
repeat
read(n);
if (n mod 4 = 0) and (n mod 10 = 2) then s := s + n;
if (n <> 0) and (n < 100) then inc(k);
sa := sa + n
until n = 0;
readln;
writeln('Сумма чисел, кратных 4 и заканчивающихся на 2, равна ', s);
writeln('Количество чисел, не больших 100, равно ', k);
writeln('Сумма последовательности равна ', sa);
readln
end.
Объяснение:
program zz1;
var n,n1,n2,n3:integer; //задаем переменные
begin
write('введите заданное трехзначное число');
read(n); //вводим с клавиатуры заданное трехзначное число
n1:=n div 100; //находим первую цифру числа
n2:=(n mod 100) div 10; //находим вторую цифру числа
n3:=n mod 10; //находим третью цифру числа
if (n1 mod 2 = 0)and(n2 mod 2 = 0)and(n3 mod 2 = 0) //проверяем, если все цифры четные, то выводим один ответ, если нет, то другой
then write('все цифры числа четные ') else write('некоторые цифры числа не четные');
Объяснение: