Сколько элементов массива больше по модулю максимального
Авторgospodaretsva.comПросмотров1.2к.Обновлено
Создать массив из 20 элементов в диапазоне значений от -15 до 14 включительно. Определить количество элементов по модулю больших, чем максимальный.
Суть задачи сводится к тому, что сначала надо найти максимальный элемент массива, а затем сравнить с ним абсолютные значения отрицательных элементов (потому что все положительные будут меньше максимального) и посчитать те, которые окажутся больше него.
По факту код программы получается проще, если сравнивать с максимумом все элементы массива. В результате алгоритм решения задачи сводится к следующему:
Присвоить переменной, в которой будет храниться максимум, значение меньше, чем возможное в массиве (в данном случае -16).
Перебрать все элементы массива. Если очередной элемент больше значения, которое хранится в переменной для максимума, то поменять значение этой переменной на текущий элемент.
Присвоить переменной для подсчета элементов больших по модулю максимальный значение 0.
Перебрать все элементы массива. Если абсолютное значение текущего элемента больше того, что записано в переменной для максимума, то увеличить переменную-счетчик (из предыдущего пункта) на 1.
Pascal
const N = 20;
var
a: array[1..N] of integer;
max: integer;
i, count: byte;
begin
randomize;
max := -16;
for i:=1 to N do begin
a[i] := random(30)-15;
write(a[i],' ');
if a[i] > max then max := a[i];
end;
writeln;
count := 0;
for i:=1 to N do
if abs(a[i]) > max then
count := count + 1;
writeln(count);
end.
В этом примере максимальный элемент - число 11. Больше него по модулю -14 и -13.
Python
from random import random
N = 20
a = [0]*N
m = -16
for i in range(N):
a[i] = int(random()*30)-15
print(a[i],end=' ');
if a[i] > m: m = a[i]
print()
count = 0
for i in range(N):
if abs(a[i]) > m:
count += 1
print(count)
Максимальный 14. Больше него по модулю только -15.
КуМир
алг больше по модулю максимального
нач
цел N = 20
цел таб a[1:N]
цел mx, i, count
mx := -16
нц для i от 1 до N
a[i] := int(rand(-15,15))
вывод a[i], " "
если a[i] > mx то mx:=a[i] все
кц
вывод нс
count := 0
нц для i от 1 до N
если abs(a[i]) > mx то
count := count + 1
все
кц
вывод count
кон
Максимальное 14. Больше него по модулю два числа -15.
Basic-256
N = 20
dim a(N)
max = -16
for i=0 to N-1
a[i] = int(rand*30)-15
print a[i] + " ";
if a[i] > max then max = a[i]
next i
print
c = 0
for i=0 to N-1
if abs(a[i]) > max then c = c+1
next i
print(c)
Максимальный элемент равен 13. Больше него по модулю -15 и -14.
Подписаться
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Pascal
const N = 20; var a: array[1..N] of integer; max: integer; i, count: byte; begin randomize; max := -16; for i:=1 to N do begin a[i] := random(30)-15; write(a[i],' '); if a[i] > max then max := a[i]; end; writeln; count := 0; for i:=1 to N do if abs(a[i]) > max then count := count + 1; writeln(count); end.
В этом примере максимальный элемент - число 11. Больше него по модулю -14 и -13.
Python
from random import random N = 20 a = [0]*N m = -16 for i in range(N): a[i] = int(random()*30)-15 print(a[i],end=' '); if a[i] > m: m = a[i] print() count = 0 for i in range(N): if abs(a[i]) > m: count += 1 print(count)
Максимальный 14. Больше него по модулю только -15.
КуМир
алг больше по модулю максимального нач цел N = 20 цел таб a[1:N] цел mx, i, count mx := -16 нц для i от 1 до N a[i] := int(rand(-15,15)) вывод a[i], " " если a[i] > mx то mx:=a[i] все кц вывод нс count := 0 нц для i от 1 до N если abs(a[i]) > mx то count := count + 1 все кц вывод count кон
Максимальное 14. Больше него по модулю два числа -15.
Basic-256
N = 20 dim a(N) max = -16 for i=0 to N-1 a[i] = int(rand*30)-15 print a[i] + " "; if a[i] > max then max = a[i] next i print c = 0 for i=0 to N-1 if abs(a[i]) > max then c = c+1 next i print(c)