М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
liona676
liona676
16.05.2020 11:18 •  Информатика

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

👇
Ответ:
Neuch18
Neuch18
16.05.2020
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.
4,4(30 оценок)
Открыть все ответы
Ответ:
mary041
mary041
16.05.2020
1) E1A0(16) = 1110 0001 1010 0000(2) 
количество единиц = 6

2) 11001011(2) = 128+64+8+2+1 = 203(10)
11111000(2) = 128+64+32+16+8 = 248(10)
11011011(2) = 128+64+16+8+2+1 = 219(10)
10011111(2) = 128+16+8+4+2+1 = 159
11100100(2) = 128+64+32+4 = 228(10)
D4(16)+20(8) = 13*16+4 + 2*8 = 212+16 = 228(10)
Только одно число больше 228(10):
  это 11111000(2) = 128+64+32+16+8 = 248(10)

3) 11011100(2) = 128+64+16+8+4 = 220(10)
DF(16) = 13*16+15 = 208+15 = 223(10)
Количество чисел, удовлетворяющих неравенству - два (221 и 222).
4,4(83 оценок)
Ответ:
MoonVar
MoonVar
16.05.2020
1) E1A0(16) = 1110 0001 1010 0000(2) 
количество единиц = 6

2) 11001011(2) = 128+64+8+2+1 = 203(10)
11111000(2) = 128+64+32+16+8 = 248(10)
11011011(2) = 128+64+16+8+2+1 = 219(10)
10011111(2) = 128+16+8+4+2+1 = 159
11100100(2) = 128+64+32+4 = 228(10)
D4(16)+20(8) = 13*16+4 + 2*8 = 212+16 = 228(10)
Только одно число больше 228(10):
  это 11111000(2) = 128+64+32+16+8 = 248(10)

3) 11011100(2) = 128+64+16+8+4 = 220(10)
DF(16) = 13*16+15 = 208+15 = 223(10)
Количество чисел, удовлетворяющих неравенству - два (221 и 222).
4,6(64 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ