Advertisement
maksim32

mail_question237400350 (Слияние массивов с изменённым порядком)

Mar 11th, 2024 (edited)
1,475
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.71 KB | Source Code | 0 0
  1. { Заданы массивы А и В по 10 элементов. Слить массивы А и В в массив С
  2.  так, чтобы вначале шли элементы меньше среднего значения по всему массиву С. }
  3.  
  4. var A, B: array[1..10] of integer;
  5.   C: array[1..20] of integer;
  6.   i, sum, avg, cnt: integer;
  7. begin
  8.   { Заполнить исходные массивы значениями }
  9.   randomize;
  10.   for i := 1 to 10 do begin
  11.     A[i] := random(21) - 10;
  12.     B[i] := random(21) - 10;
  13.   end;
  14.  
  15.   write('A: ');
  16.   for i := 1 to 10 do begin
  17.     write(A[i], ' ');
  18.   end;
  19.   writeln;
  20.  
  21.   write('B: ');
  22.   for i := 1 to 10 do begin
  23.     write(B[i], ' ');
  24.   end;
  25.   writeln;
  26.  
  27.   { Найти среднее арифметическое }
  28.   sum := 0;
  29.   for i := 1 to 10 do begin
  30.     sum := sum + A[i];
  31.     sum := sum + B[i];
  32.   end;
  33.   avg := sum div 20;
  34.   writeln('avg = ', avg);
  35.  
  36.   { Сформировать массив C, в первой половине значения меньше avg, во второй - больше}
  37.   cnt := 0;
  38.   for i := 1 to 10 do begin
  39.     if A[i] < avg then begin
  40.       inc(cnt);
  41.       C[cnt] := A[i];
  42.     end;
  43.   end;
  44.  
  45.   for i := 1 to 10 do begin
  46.     if B[i] < avg then begin
  47.       inc(cnt);
  48.       C[cnt] := B[i];
  49.     end;
  50.   end;
  51.  
  52.   for i := 1 to 10 do begin
  53.     if A[i] >= avg then begin
  54.       inc(cnt);
  55.       C[cnt] := A[i];
  56.     end;
  57.   end;
  58.  
  59.   for i := 1 to 10 do begin
  60.     if B[i] >= avg then begin
  61.       inc(cnt);
  62.       C[cnt] := B[i];
  63.     end;
  64.   end;
  65.  
  66.   { Вывести итоговый массив }
  67.   write('C: ');
  68.   for i := 1 to 20 do begin
  69.     write(C[i], ' ');
  70.   end;
  71.   writeln;
  72. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement