Const m=5; var a:array[1..m,1..m] of integer; i,j:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to m do begin for j:=1 to m do begin a[i,j]:=random(100); write(a[i,j]:4); end; writeln; end; for i:=2 to m do for j:=1 to i-1 do a[i,j]:=0; writeln('Полученный массив:'); for i:=1 to m do begin for j:=1 to m do write(a[i,j]:4); writeln; end; end.
Чтобы из 10 перевести в любую другую, нужно это десятичное число делить на то число в которое переводишь, т.е 97 делишь на 5 с остатками (решение в фото (1)) Чтобы перевести в 10, нужно над каждым числом написать степень(от нулевой) и потом сделать сумму из произведения цифры на цифру системы в той степени которая находится над данной( решение в фото (2)) Для того чтобы переводить из двоичной с\с в 8ричную и 16ричную, нужна таблица, которая будет всегда нужна ( ее скину потом) и по ней делать перевод( решение (3) в фото) сейчас все скину
Var m, n: integer; s1, s2, s3: string; ms: array[1..9] of string; md: array[1..9] of string; m1: array[11..19] of string; me: array[1..9] of string; flag: boolean;
Write('Введите целое число от 1 до 1000: '); Readln(m); if (m < 1) or (m > 1000) then Writeln('Шутки шутим?') else if m = 1000 then Writeln('Одна тысяча ' + s3) else begin { сотни } n := m div 100; if n > 0 then begin Write(ms[n]); flag := true end; { десятки } m := m mod 100; if m = 0 then Writeln(' ', s3) else begin if (m > 10) and (m < 20) then begin if flag then Write(' '); Writeln(m1[m], ' ', s3) end else if m > 0 then begin n := m mod 10; m := m div 10; if m > 0 then begin if flag then Write(' ') else flag := true; Write(md[m]) end; if n <> 0 then begin { единицы } if flag then Write(' '); Write(me[n], ' '); case n of 1: Writeln(s1); 2..4: Writeln(s2); else Writeln( s3) end end else Writeln(' ', s3) end end end end.
Тестовое решение: Введите целое число от 1 до 1000: 314 триста четырнадцать рублей
var
a:array[1..m,1..m] of integer;
i,j:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to m do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
for i:=2 to m do
for j:=1 to i-1 do
a[i,j]:=0;
writeln('Полученный массив:');
for i:=1 to m do
begin
for j:=1 to m do write(a[i,j]:4);
writeln;
end;
end.
Пример:
Исходный массив:
12 76 20 65 71
27 52 36 45 52
9 69 8 69 46
89 69 52 76 31
71 25 7 62 89
Полученный массив:
12 76 20 65 71
0 52 36 45 52
0 0 8 69 46
0 0 0 76 31
0 0 0 0 89