procedure SumCol(m,k:integer; var p,s:integer); var i:integer; begin s:=0; p:=0; for i:=1 to m do if Abs(a[i,k])<=3 then begin s:=s+a[i,k]; p:=p+1 end end;
var i,j,kol,sum:integer;
begin Writeln('*** Исходная матрица ***'); for i:=1 to m do begin for j:=1 to n do Write(a[i,j]:3); Writeln end; for i:=1 to n do Write('---'); Writeln; SumCol(m,3,kol,sum); Writeln('Элементов ',kol,', их сумма равна ',sum) end.
begin s1:=copy(s,1,pos(' ',s)-1);{копируем первое слово до пробела} for i:=pos(' ',s)+1 to length(s) do{смотрим строку дальше} if (copy(s,i,length(s1))=s1){если набор символов совпадает с этим словом} and(s[i-1]=' '){и перед ним пробел} and((s[i+length(s1)]=' '){и за ним пробел} or(i+length(s1)-1=length(s))) then{или это последнее слово} begin k:=1;{фиксируем совпадение} s2:=s1;{запоминаем слово} write('Одинаковые слова ',s2);{выводим на экран} readln; exit;{выходим из программы, нужно только 1 пару} end; delete(s,1,pos(' ',s));{удаляем первое слово, следующее первое} end; if k=0 then write('Нет двух одинаковых слов'); readln end.
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!
begin
var a:array[,] of integer:=(
( 2, 1,-1, 4),
(-3, 1,-4, 1),
( 2, 1, 2, 3),
( 2, 2, 5, 4),
(-3,-1,-3, 1));
Writeln('*** Исходная матрица ***');
a.Println(3); Writeln(3*a.ColCount*'-');
var s:=a.Col(2).Where(x->Abs(x)<=3);
Writeln('Элементов ',s.Count,', их сумма равна ',s.Sum)
end.
Результат
*** Исходная матрица ***
2 1 -1 4
-3 1 -4 1
2 1 2 3
2 2 5 4
-3 -1 -3 1
Элементов 3, их сумма равна -2
2. Вариант решения "Так писали наши дедушки и так нас учат в школе"
const
m=5;
n=4;
a:array[1..m,1..n] of integer=(
( 2, 1,-1, 4),
(-3, 1,-4, 1),
( 2, 1, 2, 3),
( 2, 2, 5, 4),
(-3,-1,-3, 1));
procedure SumCol(m,k:integer; var p,s:integer);
var
i:integer;
begin
s:=0; p:=0;
for i:=1 to m do
if Abs(a[i,k])<=3 then begin
s:=s+a[i,k];
p:=p+1
end
end;
var
i,j,kol,sum:integer;
begin
Writeln('*** Исходная матрица ***');
for i:=1 to m do begin
for j:=1 to n do Write(a[i,j]:3);
Writeln
end;
for i:=1 to n do Write('---');
Writeln;
SumCol(m,3,kol,sum);
Writeln('Элементов ',kol,', их сумма равна ',sum)
end.
Результат
*** Исходная матрица ***
2 1 -1 4
-3 1 -4 1
2 1 2 3
2 2 5 4
-3 -1 -3 1
Элементов 3, их сумма равна -2