// PascalABC.NET 3.2, сборка 1427 от 24.04.2017 // Внимание! Если программа не работает, обновите версию!
begin var m:=ReadInteger('Количество строк в массиве:'); var n:=ReadInteger('Количество колонок в массиве:'); Writeln('*** Исходный массив [',m,',',n,'] ***'); var a:=MatrRandom(m,n,-9,9); a.Println(3); Writeln(3*a.ColCount*'-'); Write('Колонок, где все элементы различны, ', a.Cols.Where(c->c.Distinct.Count=m).Count); end.
В операторах Dat[1] := 7; ... ; Dat[10] := 9; задаются элементы массива. m := 0; n := 0; - начальные значения переменных m и n. В цикле for k := 1 to 10 do ... каждый элемент массива сравнивается с текущим значением переменной m (Dat[k] >= m). Если элемент больше, то значения переменных m и n меняются: в переменной m запоминается значение элемента массива, в переменной n - значение номера (индекс) этого элемента. Таким образом, после выполнения цикла значения переменных будут: m=10; n=8. На экран будет выведено значение 8 (это номер последнего максимального элемента массива). ответ: 8
20₁₀ = 2·8¹ + 4·8⁰ ⇒ 10100₂ = 24₈
100₁₀ = 1·2⁶ + 1·2⁵ + 0·2⁴ + 0·2³ + 1·2² + 0·2¹ + 0·2⁰ ⇒ 100₁₀ = 1100100₂
100₁₀ = 1·8² + 4·8¹ + 4·8⁰ ⇒ 100₁₀ = 144₈
333₁₀ = 1·2⁸ + 0·2⁷ + 1·2⁶ + 0·2⁵ + 0·2⁴ + 1·2³ + 1·2² + 0·2¹ + 1·2⁰ ⇒ 333₁₀ = 101001101₂
333₁₀ = 5·8² + 1·8¹ + 5·8⁰ ⇒ 333₁₀ = 515₈