Так как необходимо найти не только максимальный элемент, но и его индекс, то лучше искать индекс, так как по нему всегда можно получить значение из массива.
from random import random N = 50 arr = [0] * N mx = 0 for i in range(N): arr[i] = random() * 100 print("%.2f" % arr[i], end='; ') if arr[i] > arr[mx]: mx = i print("\narr[%d] = %.2f" % (mx, arr[mx]))
aleksvasin
18.02.2023
Если нужно достать минимальное число шаров чтобы среди них точно оказалось по одному каждого цвета, то Допустим, первые 5 шаров - синие (всегда рассматривается худший случай) Допустим, следующие 3 шара - красные Тогда все оставшиеся шары будут желтыми, и достаточно достать любой из них 5+3+1=9 ответ: 9 шаров. P.S. Если достать меньшее кол-во, то возможна ситуация, при которой будут не все шары. Например, если достать 8 шаров, возможно что будут только синие и красные. Но если достать 9, то в любом случае среди них будет каждый цвет. Хотя, возможна ситуация, в которой при наличии 3 шаров будут присутствовать шары каждого цвета.
Katkova
18.02.2023
Const nm = 20; nn = 20;
var a: array[1..nm, 1..nn] of integer; i, j, m, n, k, imin, imax, nmin, nmax: integer;
begin Write('Введите число строк и столбцов матрицы: '); Readln(m, n); Randomize; Writeln('Исходная матрица'); for i := 1 to m do begin for j := 1 to n do begin a[i, j] := Random(101) - 50; Write(a[i, j]:4) end; Writeln end; if m = n then begin imax := 1; imin := 1; nmax := a[1, n]; nmin := nmax; for i := 2 to n do begin k := a[i, n - i + 1]; if nmax < k then begin imax := i; nmax := k end; if nmin > k then begin imin := i; nmin := k end end; a[imax, n - imax + 1] := nmin; a[imin, n - imin + 1] := nmax end else begin i := 2; while i <= m do begin for j := 1 to n do a[i, j] := 0; i := i + 2 end; end; Writeln('Матрица-результат'); for i := 1 to m do begin for j := 1 to n do Write(a[i, j]:4); Writeln end; Writeln end.
from random import random
N = 50
arr = [0] * N
mx = 0
for i in range(N):
arr[i] = random() * 100
print("%.2f" % arr[i], end='; ')
if arr[i] > arr[mx]:
mx = i
print("\narr[%d] = %.2f" % (mx, arr[mx]))