За 111 в 4-й системе счисления идет 112. Магия.)
Самое простое решение program znanijatop;
const n = 100;
var
k,i,j:byte;
s1,s2:real;
a:array[1..n,1..n] of real;
begin
writeln('vvedite poryadok matrice');
readln(k);
s1:=0;s2:=0;for i:=1 to k do begin
for j:=1 to k do begin
writeln('vvedite a[',i,',',j,']');
readln(a[i,j]);
end;
end;
for i:=1 to k do begin
for j:=1 to k do begin
if i<j then s1:=s1+a[i,j];
if i>j then s2:=s2+a[i,j];
end;
end;
if s1 > s2 then writeln('nad glavnoy diagonali summa bolshe');
if s1 < s2 then writeln('pod glavnoy diagonali summa bolshe');
if s1 = s2 then writeln('ravni');
end.
Делишь число на основание системы счисления в которую переводишь т.е. на 16, до тех пор,пока не получится частное меньше, чем делитель.
Остатки которые получились переводишь в соответствие с алфавитом новой системы счисления.Записывать с последнего остатка.
999 = 3е7
10985 = 2ае9
1)
const n=5; m=4;
var
a:array[1..n,1..m] of integer;
i,j:integer;
b1,b2:boolean;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
for i:=1 to n do
begin
b1:=true; b2:=true;
for j:=2 to m do
begin
if a[i,j-1]>=a[i,j] then b1:=false;
if a[i,j-1]<=a[i,j] then b2:=false;
end;
if b1 then writeln('В(о) ',i,' строке последовательность возрастающая');
if b2 then writeln('В(о) ',i,' строке последовательность убывающая');
end;
end.
Пример:
Исходный массив:
59 91 71 89
89 65 40 31
51 62 97 61
88 25 87 11
8 9 12 80
В(о) 2 строке последовательность убывающая
В(о) 5 строке последовательность возрастающая
2)
В постановке задачи есть неопределенность. Какой (какие) индекс (ы) должен быть степенью двойки - хотя бы один или оба?
3)
const n=5; m=4;
var
a:array[1..n,1..m] of integer;
i,j,k:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
k:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j] mod 7 = 0 then k:=k+1;
writeln('k = ',k);
end.
Пример:
Исходный массив:
63 19 86 92
23 9 62 3
89 56 54 46
77 89 70 41
60 1 63 82
k = 5
1)Высказывание f должно быть истинным (true), иначе первое выражение становилось бы ложным (false), т.к. применяем дизъюнкцию (одно из высказываний должно быть истинно). 2*2≠5, поэтому второе высказывание ложно. F=true.
2)and - логическое умножение. 2*2=4, высказывание истинно. Чтобы из этого высказывания получить ложное, нужно false ∧ true (второе выражение true). Поэтому B=false.
Ну такое себе объяняю, ну вот так как-то))