Ms dos qbasic 1.0: cls randomize timer input "k = ", k input "l = ", l dim x! (k, l) for i = 1 to k for j = 1 to l x(i, j) = rnd * 21 - 10 print using "###"; x(i, j); print ; " "; next j print next i for i = 1 to l * 4 - 1 print ; "_"; next i print for n = 1 to l for i = 1 to l - n - 1 if x(i, 2) < x(i + 1, 2) then b = x(i, 2) x(i, 2) = x(i + 1, 2) x(i + 1, 2) = b end if next i next n for i = 1 to k for j = 1 to l print using "###"; x(i, j); print " "; next j print next i end
Первый алгоритм: const n=30; var a:array[1..30] of integer; s:longint; i:integer; begin { формируем массив } Randomize; Writeln('Элементы массива:'); for i:=1 to n do begin a[i]:=Random(51)-25; Write(a[i]:4) end; Writeln; { собственно, алгоритм } s:=a[1]*a[2]; i:=3; while i<=n-1 do begin s:=s+a[i]*a[i+1]; i:=i+2 end; Writeln('Сумма пар произведений равна ',s) end.
Тестовое решение: Элементы массива: 1 10 -9 -12 -2 20 21 14 5 19 21 -14 -10 -17 5 -9 -8 17 18 11 -21 -3 -15 -10 -15 -16 -15 2 3 21 Сумма пар произведений равна 846
Второй алгоритм const n=30; var a:array[1..30] of integer; smax,imax:longint; i:integer; begin { формируем массив } Randomize; Writeln('Элементы массива:'); for i:=1 to n do begin a[i]:=Random(51)-25; Write(a[i]:4) end; Writeln; { собственно, алгоритм } smax:=a[1]+a[2]; imax:=1; for i:=2 to n-1 do if smax<a[i]+a[i+1] then begin smax:=a[i]+a[i+1]; imax:=i end; Writeln('Номер первого из пары элементов с максимальной суммой: ',imax) end.
Тестовое решение: Элементы массива: 23 13 -11 -1 -18 20 -23 1 -21 -10 7 15 -2 24 -18 -22 -13 12 -16 22 19 -14 -14 -14 19 15 8 -15 -19 -22 Номер первого из пары элементов с максимальной суммой: 20
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку