// PascalABC.NET 3.2, сборка 1362 от 14.12.2016 // Внимание! В других версиях языка работа не гарантируется!
begin var m:=ReadInteger('Количество строк в массиве:'); var n:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив A[',m,',',n,'] ***'); var a:=MatrRandom(m,n,-50,50); a.Println(4); Writeln(4*a.ColCount*'-'); var k:=a.Rows.Select(x->x.Aggregate(0,(x,y)->x+y)).ToArray.IndexMax; for var j:=0 to (n-1) div 2 do Swap(a[k,j],a[k,n-1-j]); a.Println(4) end.
Пример Количество строк в массиве: 4 Количество столбцов в массиве: 5 *** Исходный массив A[4,5] *** 29 36 -50 -4 -32 -1 -10 -7 -47 -50 -16 4 48 -41 -43 8 46 45 14 -44
// Внимание! В других версиях языка работа не гарантируется!
begin
var m:=ReadInteger('Количество строк в массиве:');
var n:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив A[',m,',',n,'] ***');
var a:=MatrRandom(m,n,-50,50);
a.Println(4);
Writeln(4*a.ColCount*'-');
var k:=a.Rows.Select(x->x.Aggregate(0,(x,y)->x+y)).ToArray.IndexMax;
for var j:=0 to (n-1) div 2 do Swap(a[k,j],a[k,n-1-j]);
a.Println(4)
end.
Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 5
*** Исходный массив A[4,5] ***
29 36 -50 -4 -32
-1 -10 -7 -47 -50
-16 4 48 -41 -43
8 46 45 14 -44
29 36 -50 -4 -32
-1 -10 -7 -47 -50
-16 4 48 -41 -43
-44 14 45 46 8
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, а наоборот