Var A: array[1..100, 1..100] of integer; B: array[1..100]of integer; i, j, k, n, m, imax: integer; manual: boolean;
begin writeln('Ручной ввод (true/false)==>'); read(manual);
if manual then begin writeln('Размер массива n, m ==>'); read(n, m); end else begin n := random(10) + 5; m := random(10) + 5; end;
for i := 1 to n do begin writeln(); for j := 1 to m do begin if manual then read(a[i, j]) else begin a[i, j] := random(100) - 50; write(a[i, j]:3, ' '); end; end; end;
writeln(); writeln();
for j := 1 to m do if j mod 2 = 1 then begin k := k + 1; b[k] := 1; for i := 1 to n do b[k] := b[k] * a[i, j]; write(b[k], ' '); end;
writeln();
for i := 1 to k - 1 do begin imax := i; for j := i + 1 to k do if b[j] > b[imax] then imax := j; n := b[i]; b[i] := b[imax]; b[imax] := n; end;
Разъясню 1. ИЛИ ложно, когда оба высказывания ложны. Т.е. 0 ИЛИ 0 = 0, в остальных случаях - истина. Значит, НЕ(х>87) И НЕ НЕ(х кратное 9) В первом случае знак можно поменять: (х<=87), убрав при этом НЕ. Двойное отрицание убираем без последствий: (х кратно 9). Наибольшее число, которое меньше или равно 87 И делится на 9 без остатка = 81. 2. 64 = 2^6 16 = 2^4 1 = 2^0 В двоичной записи десятичного числа 1 стоит на месте степени двойки, разряды нумеруются с конца, начиная с нуля. Запишем разряды(их 6, т.к. первая 1 стоит на 6 позиции с конца, а ведущие нули можно убрать (как в десятичной вместо 008 мы пишем 8) 6 5 4 3 2 1 0 1 0 1 0 0 0 1 под разрядами пишем 1 там, где у нас была степень 2. Это двоичная запись числа. В ней 4 нуля. ответ: 4
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку