Keneke
19.01.2023 05:51

1)дан массив из n элементов, n не больше 30. отсортировать по возрастанию элементы второй половины 2) дан массив из n элементов, n не более 30, n-четное. поменять местами первую и вторую половину ,

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
N1R2
04.10.2020 23:25
{ 1. Дан массив из n элементов, n не больше 30. отсортировать по возрастанию элементы второй половины }

const n=20;
var 
  k,x,i,j: integer;
  var a: array[1..n] of integer;
begin
  if n mod 2 =0
    then k:=(n div 2)+1    
    else k:=(n div 2)+2;
  writeln ('Исходный массив');
  for i:=1 to n do begin
    a[i]:=random(100);
    write (a[i]:3);
  end;
  writeln;
  for i:=k to n-1 do 
    for j:=i+1 to n do 
      if a[i]>a[j]
        then begin x:=a[i]; a[i]:=a[j]; a[j]:=x end;      
  writeln;
  writeln ('Измененный массив');
  for i:=1 to n do 
    write (a[i]:3);
end.

Результат:
Исходный массив
 52 49 94 71 98 80 83 94 26 59 66 74 97 59 27 32 90 97 43 37

Измененный массив
 52 49 94 71 98 80 83 94 26 59 27 32 37 43 59 66 74 90 97 97


{ Дан массив из n элементов, n не более 30, n-четное. Поменять местами первую и вторую половину }

const n=20;
var 
  k,x,i: integer;
  var a: array[1..n] of integer;
begin
  k:=(n div 2);
  writeln ('Исходный массив');
  for i:=1 to n do begin
    a[i]:=random(100);
    write (a[i]:3);
  end;
  writeln;
  for i:=1 to k do begin 
    x:=a[i]; 
    a[i]:=a[i+k]; 
    a[i+k]:=x 
  end;
  writeln;
  writeln ('Измененный массив');
  for i:=1 to n do 
    write (a[i]:3);
end.

Результат:
Исходный массив
 37  8 74 17  8 96  1 47 69 77 69 21  2 67 93 35 74 58 48 53

Измененный массив
 69 21  2 67 93 35 74 58 48 53 37  8 74 17  8 96  1 47 69 77
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота