begin var n := ReadlnInteger('n = '); var m := ReadlnInteger('m = '); var rand := ReadlnInteger('Для ручного ввода нажмите 0');
if rand = 0 then begin a := new integer[m, n]; for var i := 0 to m-1 do for var j := 0 to n-1 do a[i, j] := ReadlnInteger('a[' + i + ',' + j + '] = '); end else a := MatrixRandom(m, n, 1, 100); Println(a);
var b := ArrGen(n, x -> 1); for var i := 0 to m-1 do for var j := 0 to n-1 do if j mod 2 = 0 then b[j] := b[j] * a[i, j];
b.Where((x, i)-> i mod 2 = 0).SortedDescending().Println(); end.
var
s: string[6];
n: integer;
begin
s := 'отлично';
n := length(s);
writeln(length('отлично'));
writeln(n);
end.
Изначально выставлен тип string[6], значит если присвоить строку больше, то ее обрежет по 6 символов, вот и весь прикол
ответ 6
2) рисунок
3)var
s, s1: string;
n: integer;
begin
s := 'информатика';
s1 := copy(s, 3, 5);
n := pos(s, s1);
writeln('s=', s);
writeln('s1=', s1);
writeln('n=', n);
end.
Вывод
s=информатика
s1=форма
n=0
Все верно, в s1 не содержится s, а наоборот
a: array [,] of integer;
begin
var n := ReadlnInteger('n = ');
var m := ReadlnInteger('m = ');
var rand := ReadlnInteger('Для ручного ввода нажмите 0');
if rand = 0 then begin
a := new integer[m, n];
for var i := 0 to m-1 do
for var j := 0 to n-1 do
a[i, j] := ReadlnInteger('a[' + i + ',' + j + '] = ');
end
else a := MatrixRandom(m, n, 1, 100);
Println(a);
var b := ArrGen(n, x -> 1);
for var i := 0 to m-1 do
for var j := 0 to n-1 do
if j mod 2 = 0 then
b[j] := b[j] * a[i, j];
b.Where((x, i)-> i mod 2 = 0).SortedDescending().Println();
end.