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

Найти сумму всех элементов массива целых чисел,которые меньше среднего арифметического элементов массива.размерность массива-20.заполнение массива осуществить случайными числами от 150 до 300

👇
Ответ:
Houghin
Houghin
14.07.2020

var
a:array [1..20] of integer;
i,s:integer;
k:real;
begin
Randomize;
k:=0;
for i:=1 to 20 do
begin
  a[i]:=random(150)+150;
  k:=k+a[i];
  write(a[i],' ');
end;
k:=k/20;
s:=0;
for i:=1 to 20 do if a[i]<k then s:=s+a[i];
writeln;
writeln('Среднее арифм. = ',k);
writeln('Сумма элементов массива меньших ',k,' = ',s);
end.

4,6(26 оценок)
Открыть все ответы
Ответ:
НИкитос1757
НИкитос1757
14.07.2020
Логическая операция ⊕ - это "исключающее ИЛИ" (xor в языках Паскаль, Бейсик и т.д.), а → операция присваивания.
Тогда a⊕b→a; a⊕b→b; a⊕b→a - это был обмен значениями a ↔ b
Теперь по этой же схеме обменяем местами b и с:
b⊕c→b; b⊕c→с; b⊕c→b.
Результат: b→a; c→b; a→c

Программа для иллюстрации:
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
  var a:=50;
  var b:=-20;
  var c:=0;
  Println('Исходные значения: a=',a,'b=',b,'c=',c);
  a:=a xor b; b:=a xor b; a:=a xor b;
  b:=b xor c; c:=b xor c; b:=b xor c;
  Println('Результат обмена: a=',a,'b=',b,'c=',c)
end.

Результат:
Исходные значения: a= 50 b= -20 c= 0
Результат обмена: a= -20 b= 0 c= 50
4,7(23 оценок)
Ответ:
RomashechkaRomova
RomashechkaRomova
14.07.2020
Const nx =50;
var z:array[1..nx] of integer; i,j,n,m,d,s,s1,k:integer; sr:real;
begin
write ('Введите число элементов n');read(n);
for i:= 1 to n do begin
z[i]:= random(30)-5;
write(z[i]:3);
if z[i]=0 then m:=i;end;writeln;
if m > 0 then begin
for j:=1 to n do begin
if (j< m) and (z[j] mod 2 = 0) then  s:= s + z[j];
if (j> m) and (z[j] mod 2 = 1) then begin s1:= s1 + z[j]; k:= k +1; end;end;end
else
begin
writeln;
for i:=1 to n do begin
for j:=2 to n do begin
if z[j] > z[j-1] then begind:=z[j-1]; z[j-1]:=z[j];  z[j]:= d;end;end;
end;end;writeln;
sr:= s1 /k;
if m > 0 then begin
writeln('сумму нечетных чисел от последнего нулевого значения до Z[N]', s:6);
write('среднее арифметическое четных чисел, находящихся в массиве до последнего нуля ', sr:6:3);
end
else
for j:=1 to n do
write(z[j]:3);end.
4,8(74 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ