
Заранеее ОГРОМНОЕ СПАСИБО

const
m = 3; { число строк }
n = 4; { число столбцов }
var
a: array[1 .. m, 1 .. n] of real;
i_min, i_max, i, j: integer;
sum_plus, sum_minus: real;
begin
{ ввод матрицы }
for i := 1 to n do
for j := 1 to n do begin
write('a[', i:3, j:3, '] = '); readln(a[i, j]);
end;
for i := 1 to m do begin
sum_plus := 0; sum_minus := 0;
i_min := 1; i_max := 1;
for j := 1 to n do begin
if a[i, j] < a[i, i_min] then i_min := j;
if a[i, j] > a[i, i_max] then i_max := j;
if a[i, j] < 0 then sum_minus := sum_minus + a[i, j]
else sum_plus := sum_plus + a[i, j];
end;
a[i, i_min] := sum_minus;
a[i, i_max] := sum_plus;
end;
{ вывод матрицы }
for i := 1 to n do begin
for j := 1 to n do
write(a[i, j]:6:2);
writeln;
end;
end.
uses crt;
const
limits = [#0..#32,'.',',',':',';','!','?','"'];
type
TWords = array[1..40] of string;
TLogic = array[1..40] of boolean;
var
text : string;
words : TWords;
logic : TLogic;
function GetWords(s : string; var w : TWords; var L : TLogic) : byte;
var
i,back,n : byte;
begin
i := 1;
n := 0;
while(i<=length(s)) do begin
while(i<=length(s)) and (s[i] in limits) do
inc(i);
if i<=length(s) then begin
back := i;
while(i<=length(s)) and not(s[i] in limits) do
inc(i);
inc(n);
w[n] := copy(s, back, i-back);
L[n] := not(odd(length(w[n])));
end;
end;
GetWords := n;
end;
var
i,j : byte;
begin
clrscr;
write('text = '); readln(text);
j := GetWords(text, words, logic);
for i := 1 to j do writeln(words[i],' ', logic[i]:10);
readln;
end.
begin
clrscr;
write('text = '); readln(text);
j := GetWords(text, words, logic);
for i := 1 to j do write(logic[i]:6);
writeln;
readln;
end.
uses crt;
const
limits = [#0..#32,'.',',',':',';','!','?','"'];
type
while(i<=length(s)) do begin
while(i<=length(s)) and (s[i] = ' ') do inc(i);
if i<=length(s) then begin
back := i;
while(i<=length(s)) and (s[i] <> ' ') do inc(i);
inc(n);
w[n] := copy(s, back, i-back);
L[n] := not(odd(length(w[n])));
end;
end;
function GetWords(s : string; var w : TWords; var L : TLogic) : byte;
var
i,back,n : byte;
begin
i := 1;
n := 0;
while(i<=length(s)) do begin
while(i<=length(s)) and (s[i] = ' ') do inc(i);
if i<=length(s) then begin
back := i;
while(i<=length(s)) and (s[i] <> ' ') do inc(i);
inc(n);
w[n] := copy(s, back, i-back);
L[n] := not(odd(length(w[n])));
end;
end;
GetWords := n;
end;
for j := 1 to n do begin
if a[i, j] < a[i, i_min] then i_min := j;
if a[i, j] > a[i, i_max] then i_max := j;
if a[i, j] < 0 then sum_minus := sum_minus + a[i, j]
else sum_plus := sum_plus + a[i, j];
end;
for j := 1 to n do begin
if a[i, j] < a[i, i_min] then i_min := j;
if a[i, j] > a[i, i_max] then i_max := j;
if a[i, j] < 0 then sum_minus := sum_minus + a[i, j]
else sum_plus := sum_plus + a[i, j];
end;
var
arr: array[1000] of real;
...
Reset(f);
max := -10000;
aver := 0; n := 0;
while not eof(f) do begin
read(f, X);
if X > max then max := X;
aver := aver + X;
inc(n); arr[n] := X;
end;
aver := aver / filesize(f);
i := 1;
while i <= n do begin
if (arr[i] < 0) = (aver < max) then begin
for j := i to pred(n) do arr[j] := arr[j+1]
dec(n);
end
else inc(i);
end;
reset(f);
for i := 1 to n do write(f, arr[i]);
truncate(f);
close(f);