Помогите пожалуйста написать программу!!! Дан массив из двух тысяч элементов,найти элементы которые представляют собой двузначные числа и выведите их на экран. Числа в массиве от 0 до 2000(числовой диапазон). Из трёхзначных выбрать кратные трём и вывести на экран в порядке убывания. В Паскале помогите пожалуйста!!!!!

Ответы

Ответ дал: MrMiner1
0

Program n_1;

var i, b, k:integer; a: array [1..2000] of integer;

begin

   writeln('Введите числа');

   for i:=1 to 2000 do read(a[i]);

   writeln;

   writeln ('Числа, состоящие из 2 разрядов:');

   for i:=1 to 2000 do begin

       b:=a[i];

       k:=0;

       while b>0 do

           begin

           b:=b div 10;

           k:=k+1;

       end;

       if k=2 then write(a[i], ' ');

   end;

   writeln;

   writeln ('Числа, состоящие из 3 разрядов и кратные 3:');

   for i:=1 to 2000 do begin

       b:=a[i];

       k:=0;

       while b>0 do

           begin

           b:=b div 10;

           k:=k+1;

       end;

       if k=3 then begin

           b:=(a[i] mod 10) + ((a[i] div 10) mod 10) + ((a[i] div 100) mod 10);

           if (b mod 3) = 0 then write(a[i], ' ');

       end;

   end;

end.

Ответ дал: MrMiner1
0
Секунду, сейчас подправлю
Ответ дал: MrMiner1
0
Program n_1;
var i, b, k, y, j:integer; a, c: array [1..2000] of integer;
begin
y:=1;
... (часть аналогичная старой)
if (b mod 3)=0 then begin
c[y]:=a[i]; y:=y+1;
end;
end;
end;
for i := 1 to y-1 do
for j := 1 to y-i do
if c[j] k:=c[j];
c[j]:= c[j+1];
c[j+1]:=k;
end;
for i:=1 to y-1 do write(c[i], ' ');
end.
Ответ дал: MrMiner1
0
Подправь (я забыл о выводе в порядке убывания)
Ответ дал: MrMiner1
0
Ладно, я ее еще немного оптимизировал. Просто посмотри ответ на 2 версию вопроса
Вас заинтересует