var a, b: array[1..n] of integer; i, j, step, t: integer; flag: boolean;
begin Randomize; Writeln('Исходные элементы массива'); for i := 1 to n do begin a[i] := Random(10) - 5; Write(a[i]:4) end; { Сортируем массив (метод Шелла) } step := n div 2; while step > 0 do begin for j := n - step downto 1 do begin i := j; while i <= n - step do begin if a[i] > a[i + step] then begin t := a[i]; a[i] := a[i + step]; a[i + step] := t end; i := i + step end end; step := step div 2 end; { проходим по массиву и если элемент встречается более одного раза подряд, переносим его в другой массив } j := 0; t := a[1]; flag := false; for i := 2 to n do begin if (a[i] = t) and (not flag) then begin j := j + 1; b[j] := t; flag := true end else begin flag := false; t := a[i] end end; Writeln; Writeln('Отобранные элементы массива'); for i := 1 to j do Write(b[i]:4); Writeln end.
Var a: array [1..10] of integer; pr, i, kol, sum: integer;begin sum := 0; pr := 1; for i := 1 to 10 do a[i] := -50 + random(100); for i := 1 to 10 do begin if (a[i] mod 2 = 1) or (a[i] mod 2 = -1) then // 1 sum := sum + a[i]; if (i mod 2 = 0) then // 2 pr := pr * a[i] else if (i mod 2 = 0) and (a[i] = 0) then pr := 0; end; for i := 1 to 10 do if (a[i] mod 10 = 0) then a[i] := 0; for i := 2 to 9 do // 3 begin if a[i] = 0 then if (a[i + 1] <> 0) and ((i + 1) mod 2 = 0) and (a[i - 1] <> 0) and ((i - 1) mod 2 = 0) then kol := kol + 1; end; writeln('сумму нечетных элементов =', ' ', sum); writeln('произведение элементов =', ' ', pr); writeln('число пар соседних элементов =', ' ', kol); end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку