PascalABC.NET 3.3.5, сборка 1640 от 17.03.2018 Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк/столбцов в матрице:'); Writeln('*** Исходная матрица ***'); var a:=MatrRandom(n,n,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var k:=Range(0,n-1).Select(i->a[i,i]).ToArray.IndexMin; Swap(a[0,0],a[k,k]); Writeln('*** Результат ***'); a.Println(4) end.
{ Вариант a }
PROGRAM Solution(INPUT, OUTPUT);
VAR
Str: STRING;
Str1: STRING;
Str2: STRING;
Str3: STRING;
TempStr: STRING;
BEGIN
WRITE('Введите строку: ');
READLN(Str);
Str1 := COPY(Str, 1, LENGTH(STR) DIV 3);
Str2 := COPY(Str, LENGTH(STR) DIV 3 + 1, (LENGTH(STR) DIV 3));
Str3 := COPY(Str, (LENGTH(STR) DIV 3) * 2 + 1, LENGTH(STR));
WRITELN(Str2 + Str3 + Str1);
END.
{ Вариант b }
PROGRAM Solution(INPUT, OUTPUT);
VAR
Str: STRING;
Str1: STRING;
Str2: STRING;
Str3: STRING;
TempStr: STRING;
BEGIN
WRITE('Введите строку: ');
READLN(Str);
Str1 := COPY(Str, 1, LENGTH(STR) DIV 3);
Str2 := COPY(Str, LENGTH(STR) DIV 3 + 1, (LENGTH(STR) DIV 3));
Str3 := COPY(Str, (LENGTH(STR) DIV 3) * 2 + 1, LENGTH(STR));
WRITELN(Str3 + Str1 + Str2);
END.
Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк/столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(n,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var k:=Range(0,n-1).Select(i->a[i,i]).ToArray.IndexMin;
Swap(a[0,0],a[k,k]);
Writeln('*** Результат ***');
a.Println(4)
end.
Пример
Количество строк/столбцов в матрице: 5
*** Исходная матрица ***
-54 0 45 24 72
-90 46 54 46 50
-51 85 -76 -64 -27
-14 -33 -66 2 71
43 -92 77 58 -22
*** Результат ***
-76 0 45 24 72
-90 46 54 46 50
-51 85 -54 -64 -27
-14 -33 -66 2 71
43 -92 77 58 -22