uses crt; var a: array [1..20, 1..20] of real; i, j, k, n, s: integer; begin clrscr; write('Введите размер матрицы: '); read(n); for i := 1 to n do for j := 1 to n do begin write('A[', i, ',', j, ']= '); readln(a[i, j]); end; WRITELN; WRITELN; writeln('Исходная матрица ', n, 'x', n, ': '); for i := 1 to n do begin for j := 1 to n do WRITE(a[i, j]:2:0, ' '); WRITELN; end; k := 0; for i := 1 to n do begin for j := 1 to n do begin if a[i, j] = 0 then begin k := k + 1; s := s + 1; end; end; if k = n then writeln(i, ' строка состоит из нулей! '); k := 0; end; if s = 0 then writeln('В матрице нет нулевых строк'); end.
1)
2) 3 единицы
3) 24D
4) 6
5) 2 раза
Объяснение:
2)
3) Переводим число в 16-ичную систему счисления, для этого делим его на 16 и запоминаем остаток. Затем результат деления также делим на 16 и запоминаем остаток. Повторяем эти действия до тех пор, пока частное не будет равно 0:
589 : 16 = 36, остаток 13
36 : 16 = 2, остаток 4
2 : 16 = 0, остаток 2
Затем записываем остатки от деления в обратном порядке: 2 4 13
Заменяем числа больше 9 на буквы
(10 - A; 11 - B; 12 - C; 13 - D; 14 - E; 15 - F)
Результат:
4)
5) Посчитаем от 1 до 10 в 6-ичной системе счисления:
1 2 3 4 5 10 11 12 13 14
n=5;
type
Mas=array[1..n] of integer;
var
max,min:integer;
function Avg(a:Mas):real;
var
i:integer;
s:real;
begin
max:=a[1]; min:=max; s:=max;
for i:=2 to n do begin
s:=s+a[i];
if a[i]>max then max:=a[i]
else
if a[i]<min then min:=a[i]
end;
Avg:=(s-min-max)/3
end;
var
m:Mas;
i:integer;
p:real;
begin
for i:=1 to n do Read(m[i]);
p:=Avg(m);
Writeln(min,' ',max);
Writeln(p:4:2)
end.
Тестовое решение:
8 9 7 5 8
5 9
7.67