program Find33;
uses SysUtils;
const
L = 100; // количество чисел, можно изменить на любое значение
var
i, j, c, cnt: Integer;
A: array [1..L] of Integer; // массив для сохранения чисел
s: string;
begin
WriteLn ('Массив трехзначных чисел: '); // вывод на экран сообщения
Randomize; // инициализация датчика случайных чисел
for i := 1 to L do begin
A [i] := 100 + Random (900); // заполняем массив случайными трехзначными числами
Write (A [i], ' '); // выводим их все на дисплей
end;
cnt := 0; // счетчик чисел с двумя тройками
WriteLn ('Найдены числа:');
for i := 1 to L do begin // цикл перебора всех элементов массива
s := IntToStr (A [i]); // трехзначное число преобразуем с символьную строку
c := 0; // счетчик троек в числе
for j := 1 to Length (s) do begin // цикл перебора всех символов строки
if s [j] = '3' then begin // если тройка, то инкремент счетчика троек
c := c + 1;
if c >= 2 then begin // если в числе хотя бы две тройки, то вывод числа и инкремент счетчика чисел
cnt := cnt + 1;
WriteLn (A [i]);
WriteLn ('Количество чисел, у которых хотя бы две тройки = ', cnt); // вывод результата
ReadLn; // ждать нажатия Enter
end.
Объяснение: комментарии в программе
program Find33;
uses SysUtils;
const
L = 100; // количество чисел, можно изменить на любое значение
var
i, j, c, cnt: Integer;
A: array [1..L] of Integer; // массив для сохранения чисел
s: string;
begin
WriteLn ('Массив трехзначных чисел: '); // вывод на экран сообщения
Randomize; // инициализация датчика случайных чисел
for i := 1 to L do begin
A [i] := 100 + Random (900); // заполняем массив случайными трехзначными числами
Write (A [i], ' '); // выводим их все на дисплей
end;
cnt := 0; // счетчик чисел с двумя тройками
WriteLn ('Найдены числа:');
for i := 1 to L do begin // цикл перебора всех элементов массива
s := IntToStr (A [i]); // трехзначное число преобразуем с символьную строку
c := 0; // счетчик троек в числе
for j := 1 to Length (s) do begin // цикл перебора всех символов строки
if s [j] = '3' then begin // если тройка, то инкремент счетчика троек
c := c + 1;
end;
end;
if c >= 2 then begin // если в числе хотя бы две тройки, то вывод числа и инкремент счетчика чисел
cnt := cnt + 1;
WriteLn (A [i]);
end;
end;
WriteLn ('Количество чисел, у которых хотя бы две тройки = ', cnt); // вывод результата
ReadLn; // ждать нажатия Enter
end.
Объяснение: комментарии в программе