Solovetzmila
?>

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

Информатика

Ответы

Лилин1079
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.
vbnm100584
Var имя переменной: char;

  Символьные значения можно вводить и выводить, присваивать, сравнивать. Ниже приведен пример, где выполняются все эти действия.

Var  x,y:char;
Begin
  Write('Введите символ');    
  Readln(x);
  Y:='A';
  If x<y then write ('X') else write ('y'); 
  {на экран буде выдан символ хранящийся в переменной 
  Х или Y в зависимости от проверки условия}
  Readln;
End.

  Сравнивать символы можно благодаря тому, что в машинной памяти они хранятся в виде целых чисел (кодов символов). Из двух символов большим считается тот, код которого больше. Символы упорядочены следующим образом:

'A'<'B'<...<'Z'
'a'<'b'<...<'z'
'0'<'1'<...<'9'
'а'<'б'<...<'я'
'А'<'Б'<...<'Я'

Для символов допустимы все шесть операций сравнения: =, <=,>=,<,>,<>.
nataliagoncharenko
// PascalABC.Net 3.0, сборка 1066

const
  n=5;
var
  a:array[1..n,1..n] of integer;
  x:array[1..n] of double;
  i,j,k:byte;
begin
  Randomize;
  Writeln('*** Исходный массив ***');
  for i:=1 to n do begin
    for j:=1 to n do begin
      a[i,j]:=Random(51)-25;
      Write(a[i,j]:4)
      end;
    Writeln
  end;
  Writeln('*** Массив x ***');
  for j:=1 to n do begin
    x[j]:=0; k:=0;
    for i:=1 to n do
      if a[i,j] mod 2=0 then begin
        x[j]:=x[j]+a[i,j]; Inc(k)
      end;
    if k>0 then x[j]:=x[j]/k;
    Write(x[j]:0:5,' ')
    end;
  Writeln
end.

Тестовое решение:
*** Исходный массив ***
 -10  18  -8 -15   5
 -21 -18   6  -2   9
  -7  22  -4   3  14
  21  16 -10 -18  -9
  17   3 -14 -18  12
*** Массив x ***
-10.00000 9.50000 -6.00000 -12.66667 13.00000

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вфайле f заменить все нулевые компоненты значением суммы первой и последней компонент файла; все отрицательные компоненты уменьшить на значение суммы, а также найти среднее арифметическое положительных компонент. результаты отпечатать.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

testovich1012
lsyrbu
aregaa
Горина
mdclcompany
zazaza74
zubov-073620
langprint
oooviktoria17
suny84
samiramoskva
karavan85450
Кислинская1055
officem695
Нескажу25