Var s:string; p1,p2:integer;
begin
writeln('Введите слово:');
readln(s);
p1:=pos('жы',s);
p2:=pos('шы',s);
if (p1=0)and(p2=0) then writeln('Ошибок не замечено.');
if p1>0 then
begin
delete(s,p1,2);
insert('жи',s,p1);
writeln('Слово написано с ошибкой.');
writeln('Правильное написание - ',s);
end;
if p2>0 then
begin
delete(s,p2,2);
insert('ши',s,p2);
writeln('Слово написано с ошибкой.');
writeln('Правильное написание - ',s);
end;
end.
// PascalABC.NET 3.3, сборка 1549 от 17.10.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*'-');
var (i,k):=(0,-1);
foreach var c in a.Cols do
if c.Where(e->e.IsEven).Count<5 then k:=i
else i+=1;
if k>=0 then begin
Writeln('*** Матрица - результат [',n,',',m+1,'] ***');
SetLength(a,n,m+1);
for var c:=a.ColCount-1 downto k+1 do
a.SetCol(c,a.Col(c-1));
a.SetCol(k+1,ArrFill(a.RowCount,0));
a.Println(4)
end
else Writeln('Нет столбцов с количеством четных элементов, меньшим 5')
end.
Пример
Количество строк в матрице: 8
Количество столбцов в матрице: 6
*** Исходная матрица [8,6] ***
38 -44 50 20 -85 -92
15 -43 43 6 -80 63
76 2 -63 32 14 -37
-78 -30 94 -45 44 -25
-74 30 15 -56 -41 -88
72 -15 -74 38 -47 -76
11 -75 -2 70 35 65
-52 -42 9 94 59 -28
------------------------
*** Матрица - результат [8,7] ***
38 -44 50 20 0 -85 -92
15 -43 43 6 0 -80 63
76 2 -63 32 0 14 -37
-78 -30 94 -45 0 44 -25
-74 30 15 -56 0 -41 -88
72 -15 -74 38 0 -47 -76
11 -75 -2 70 0 35 65
-52 -42 9 94 0 59 -28
Пример комбинированной информации:
Вы получили телеграмму: "Встречайте двенадцатого. Поезд прибывает в восемь вечера" - в данном тексте слова "двенадцатого" и "восемь" мы понимаем как числа, хотя они и выражены словами.