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

Верно ли, что сумма всех отрицательных членов заданного массива по модулю больше, чем сумма всех положительных членов. составить программу

👇
Ответ:
seanius
seanius
15.12.2020
Const n=10; 
var a:array[1..n] of integer;
i,s1,s2:integer; 
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
 begin
 a[i]:=random(51)-25;
 write(a[i]:4);
 end;
writeln;
s1:=0; s2:=0;
for i:=1 to n do
 if a[i]<0 then s1:=s1+a[i] else s2:=s2+a[i];
writeln('s1 = ',s1,' s2 = ',s2);
if abs(s1)>s2
 then writeln('Yes, |',s1,'| > ',s2)
 else writeln('No, |',s1,'| <= ',s2);
end.

Пример:
Массив A:
  -3  16   5 -14 -14  -4 -13 -25  13  16
s1 = -73 s2 = 50
Yes, |-73| > 50
4,4(54 оценок)
Открыть все ответы
Ответ:
baga27
baga27
15.12.2020
Var 
a: array[1..n] of integer; 
k, i, m: byte; 
min: integer;

begin 
Write('Razmer massiva: '); 
Readln(k); 
if (k < 0) or (k > 100) then     
begin       
Writeln('Razmer dolzhen byt bolshe 0 i menshe 100');       
Readln;       
Exit;     
end; 
Randomize; 
Writeln('Ishodn. massiv: '); 
for i:=1 to k do     
begin       
a[i]:=Random(101)-50;       
write(a[i]:4);     
end; 
min:=a[1]; 
for i:=2 to k do   
if a[i] < min then       
begin         
min:=a[i];         
m:=i;       
end; 
a[m] := a[1]; 
a[1] := min; 
Writeln; 
Writeln('Min element = ', min:4, ' v posicii ', m:3); 
Writeln('Rezult. massiv: '); 
for i:=1 to k do     
write(a[i]:4); 
readln;
end.
4,6(56 оценок)
Ответ:
chibitkova237
chibitkova237
15.12.2020
Предлагается хранить типы блоков в массиве. Каждый элемент - 2Б, количество элементов - 2^20 => всего требуется 2МБ.

При перезаписи блока и очередной переоценке необходимо учитывать типы данных в блоке до перезаписи (T0), после перезаписи (T1) и в соседних блоках (TL, TR).

Если T0 = T1, то количество кусков данных не изменяется, т.е. W[i+1] = W[i]
TL = T0 = TR <> T1 -> W[i+1] = W[i] + 2
TL = T1 = TR <> T0 -> W[i+1] = W[i] - 2
TL = TR, T0 <> TL, T1 <> TL -> W[i+1] = W[i]

Далее рассмотрим случаи, когда TL <> TR
(TL = T0, TR = T1) или (TR = T0, TL = T1) -> W[i+1] = W[i]
(TL = T0, TR <> T1) или (TR = T0, TL <> T1) -> W[i+1] = W[i] + 1
(TL = T1, TR <> T0) или (TR = T1, TL <> T0) - > W[i+1] = W[i] - 1

Если все четыре типа не совпадают, то W[i+1] = W[i]
Если перезаписывается блок с адресом 0, считать, что тип TL не совпадает ни с одним из трех других.Аналогично при перезаписи блока с адресом , но для TR.

Вроде все?
4,4(63 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ