Pascal const n = 15; type mas = array [1..n] of integer; var m : mas; i : integer; procedure inic (var a : mas); var i : integer; begin for i : = 1 to n do a[i] : = 0; end; procedure num (var a : mas); var i : integer; begin for i : = 1 to n do a[i] : = i; end; procedure w (var a : mas); var i : integer; begin for i : = 1 to n do writeln (m[i]); readln (); end; begin inic (m); num(m); w(m); end.
gorbunova188
15.10.2022
// pascalabc.net 3.2, сборка 1399 от 08.03.2017 // внимание! если программа не работает, обновите версию! begin var n: =readinteger('количество строк в матрице: '); var m: =readinteger('количество столбцов в матрице: '); writeln('*** исходная матрица [',n,',',m,'] ***'); var a: =matrrandom(n,m,-99,99); a.println(4); writeln(4*a.colcount*'-'); write('количество элементов, превышающих 2, равно '); writeln(a.rows.selectmany(x-> x).where(x-> x> 2).count) end. пример: количество строк в матрице: 4 количество столбцов в матрице: 7 *** исходная матрица [4,7] *** 46 81 -90 -42 -7 -2 -16 -32 -12 16 -46 -54 -85 97 26 98 77 68 -21 47 -63 27 8 -1 54 -46 -52 52 количество элементов, превышающих 2, равно 13
me576
15.10.2022
1. запись не верна. в операторе цикла for i: = 1 to sqrt(k) do значение, возвращаемое функцией sqrt имеет тип real, а в этом операторе все значения должны приводиться к целочисленному типу. автоматическое типа real к integer в языке паскаль невозможно, его нужно осуществлять явно при функции trunc() или 2. ни разу и ничего не будет напечатано. программа не откомпилируется из-за ошибок, которых в операторе if k write(k); сразу две.первая - после k пропущено ключевое слово then.вторая состоит в том, что после if должно следовать логическое выражение, а k имеет тип char, но не boolean.3. один раз, будет выведено true.в цикле должны быть значения порядкового типа и тип boolean этому требованию удовлетворяет. при входе в цикл f=false, цикл выполняется, затем f=true и цикл завершается. при однократном проходе по циклу выполнится оператор g: = not f и g получит значение true. это значение и будет выведено.