подсчитать количество элементов массива, значение которых состоит из двух цифр — Pascal(Паскаль)

const
  N = 10;
var
  Arr : array[1..N] of Integer;
  i, Cnt : Integer;
begin
  (*Заполняем массив случайными числами и одновременно
  подсчитываем количество элементов, состоящих из двух цифр.*)
  Writeln('Исходный массив:');
  Cnt := 0;
  Randomize;
  for i := 1 to N do begin
    Arr[i] := Random(201); (*0..200*)
    Write(Arr[i]:4);
    if ( Abs(Arr[i]) > 9 ) and ( Abs(Arr[i]) < 100 ) then Inc(Cnt);
  end;
  Writeln;
  Writeln('Количество элементов, состоящих из 2 цифр = ', Cnt:4);
  Readln;
end.

Вариант 2

const
  (*Количество элементов массива.*)
  N = 10;
  (*Основание системы счисления.*)
  Base = 10;
var
  Arr : array[1..N] of Integer;
  i, Cnt, NumTmp, DigCnt : Integer;
begin
  (*Заполняем массив случайными числами и одновременно
  подсчитываем количество элементов, состоящих из двух цифр.*)
  Writeln('Исходный массив:');
  Randomize;
  for i := 1 to N do begin
    Arr[i] := Random(201); (*0..200*)
    Write(Arr[i]:4);
 
    NumTmp := Abs(Arr[i]);
    DigCnt := 0;
    repeat
      NumTmp := NumTmp div Base;
      Inc(DigCnt);
    until ( NumTmp = 0 ) or ( DigCnt > 2 );
    if DigCnt = 2 then Inc(Cnt);
  end;
  Writeln;
  Writeln('Количество элементов, состоящих из 2 цифр = ', Cnt:4);
  Readln;
end.

Вариант 3

uses crt;
var a:array[1..20] of integer;
i,n,k:integer;
begin
clrscr;
randomize;
write('введите количество элементов: ');
readln(n);
for i:=1 to n do
begin
a[i]:=random(100);
end;
writeln;
writeln('полученный массив: ');
for i:=1 to n do
begin
write(a[i]:3);
end;
for i:=1 to n do
if (a[i]>9) and (a[i]<=99) then
begin
k:=k+1;
end;
writeln;
begin
write('количество элементов состоящих из двух цифр: ',k);
end;
readkey;
end.

Leave a Comment

+ 48 = 52