Var mas:array[1..100,1..100] of integer;
N,M,D,N2,i,C,j,M2,k:integer;
begin
N:=0;D:=0;k:=0;
write('Введите N = ');Readln(N);
write('Введите M = ');Readln(M);
For i:= 1 to M do begin
M2:=1;
For N2:=i downto 1 do begin
if M2<=N then begin
mas[M2,N2]:=k;
k:=k+1;
M2:=M2+1;
end;
end;
end;
//после побочной диагонали
For D:=2 to N do begin
M2:=D;
For N2:=M downto 1 do begin
IF (M2<=N) and (N2<=M) then begin
mas[M2,N2]:=k;
k:=k+1;
M2:=M2+1;
end;
end;
end;
For i:=1 to N do begin Writeln();
for j:=1 to M do
write(mas[i,j],' ');
end;
end.
Program n1;
type z= array of integer;
var a:z;
d,n,i,j,x: integer;
begin
n:=0;
while true do
begin
readln(d);
if d=0 then break;
n:=n+1;
setlength(a,n);
a[n-1]:=d;
end;
for i:=0 to n-2 do
for j:=i+1 to n-1 do
if a[i]<a[j] then begin
x:=a[i];
a[i]:=a[j];
a[j]:=x;
end;
writeln(a[1]);
end.
Перевод числа Х из 10-тичной системы в n-ичную осуществляется путем деления с остатком числа Х на n, затем Х1 = Х/n на n и тд (до тех пор, пока Хi больше 0) и записыванием остатков деления в обратном порядке. В нашем случае:
Х = 10, n = 2, \% - операция получения остатка от деления, / - операция получения целой части от деления.
1) 10 \% 2 = 0; 10 / 2 = 5
2) 5 \% 2 = 1; 5 / 2 = 2
3) 2 \% 2 = 0; 2 / 2 = 1
4) 1 \% 2 = 1; 1 / 2 = 0 => конец. Выпишем остатки в обратном порядке (т.е. из шагов 4), 3), 2) и 1)):
10 (в 10-ной) = 1010 (в 2-ной)
Проверка:
1010 (в 2-ной) = 1*2^3 + 0*2^2 + 1*2^2 + 0*2^0 = 8 + 0 + 2 + 0 = 10 (в 10-ной)
Ответ:
Коротко :хз, хз, хз, хз, хз, хз, хз
Сорян знал бы помог