Найти сумму всех элементов массива целых чисел,которые меньше среднего арифметического элементов массива.размерность массива-20.заполнение массива осуществить случайными числами от 150 до 300
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.
Логическая операция ⊕ - это "исключающее ИЛИ" (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.
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.
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.