В файле F заменить все нулевые компоненты значением суммы первой и последней компонент файла; все отрицательные компоненты уменьшить на значение суммы, а также найти среднее арифметическое положительных компонент. Результаты отпечатать.


Аноним: на каком языке программирования нужно?
romanolkis: pascal abc
archery: кстати а пример файла можно а то структура не извесна

Ответы

Ответ дал: danilbin
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.

romanolkis: да это изи, потому что массивом херачишь, операции с массивом делаешь, а надо прям вывел файл и попер комбинации с ним))
danilbin: без массива тут наврятли, голову ломать только
romanolkis: вот я и пытался, у меня ошибку выдает паскаль прям тупую
danilbin: условие тогда допиши, что без массивов нужно, и удали ответ
romanolkis: щаас все будет
romanolkis: это все условие)
archery: так выложи для начала свой код посмотреть.
romanolkis: да все, сделал уже, лентяй)
danilbin: как обошёл массив?
Вас заинтересует