В файле F заменить все нулевые компоненты значением суммы первой и последней компонент файла; все отрицательные компоненты уменьшить на значение суммы, а также найти среднее арифметическое положительных компонент. Результаты отпечатать.
Аноним:
на каком языке программирования нужно?
Ответы
Ответ дал:
0
uses crt;
var ksl,ksm:longint;
a:array of integer;
i,sred,k:integer;
f:Text;
s:string;
BEGIN
clrscr;
Assign(f,'f1.txt');
Reset(f); //из файла
while not eof(f) do
begin
readln(f,s);
ksm:=ksm+length(s); //считаем все символы
end;
writeln(ksm);
Reset(f); for i:=1 to ksm do
begin
if (s[i]=' ') then
ksl:=ksl+1;//считаем все слова
end;
writeln(ksl);
Reset(f); //из файла
setlength(a,ksl+1);
for i:=1 to ksl do
begin
read(f,a[i]);
end;
Close(f);
For i:=1 to ksl do
begin
If (a[i]=0) then a[i]:=a[1]+a[ksl]; // '' все нулевые компоненты значением суммы первой и последней компонент файла''
if (a[i]>0) then
begin
sred:=sred+a[i]; // ''найти среднее арифметическое положительных компонент''
inc(k);
end;
if (a[i]<0)then a[i]:=a[i]- ABS( a[1]+a[ksl] ); // ''все отрицательные компоненты уменьшить на значение суммы''
end;
Rewrite(f); //в фаил
for i:=1 to ksl do
begin
write(f,a[i],' ');
end;
Close(f);
Writeln(' sred= ',sred/10:0:1);
END.
var ksl,ksm:longint;
a:array of integer;
i,sred,k:integer;
f:Text;
s:string;
BEGIN
clrscr;
Assign(f,'f1.txt');
Reset(f); //из файла
while not eof(f) do
begin
readln(f,s);
ksm:=ksm+length(s); //считаем все символы
end;
writeln(ksm);
Reset(f); for i:=1 to ksm do
begin
if (s[i]=' ') then
ksl:=ksl+1;//считаем все слова
end;
writeln(ksl);
Reset(f); //из файла
setlength(a,ksl+1);
for i:=1 to ksl do
begin
read(f,a[i]);
end;
Close(f);
For i:=1 to ksl do
begin
If (a[i]=0) then a[i]:=a[1]+a[ksl]; // '' все нулевые компоненты значением суммы первой и последней компонент файла''
if (a[i]>0) then
begin
sred:=sred+a[i]; // ''найти среднее арифметическое положительных компонент''
inc(k);
end;
if (a[i]<0)then a[i]:=a[i]- ABS( a[1]+a[ksl] ); // ''все отрицательные компоненты уменьшить на значение суммы''
end;
Rewrite(f); //в фаил
for i:=1 to ksl do
begin
write(f,a[i],' ');
end;
Close(f);
Writeln(' sred= ',sred/10:0:1);
END.
Вас заинтересует
1 год назад
1 год назад
1 год назад
6 лет назад
6 лет назад
7 лет назад