Advertisement
Guest User

Untitled

a guest
Apr 15th, 2020
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.47 KB | None | 0 0
  1. program pr1;
  2. var
  3.   i, j, k, n:                  integer;
  4.   m, count, Aj, Ai, rand:      integer;
  5.   number_arr: array [1..30] of integer;
  6.   temp_arr:   array [1..2]  of integer;
  7.   pair_arr:   array [1..40] of array [1..2] of integer;
  8.   bool: boolean;
  9.  
  10. begin
  11.   // Подключение функции рандомизации
  12.   randomize;
  13.  
  14.   // Генерация массива со случайными числами
  15.   for i := 1 to 30 do
  16.   begin
  17.     rand := random(1, 10);
  18.     number_arr[i] := rand;
  19.     write(rand, ', ');
  20.   end;
  21.   writeln();
  22.  
  23.   write('Введите число: ');
  24.   readln(m);
  25.  
  26.   count := 1;
  27.   n := 1;
  28.  
  29.   // Основной цикл
  30.   for i:=1 to 30 do
  31.   begin
  32.     // Внутренний цикл
  33.     for j:=2 to 30 do
  34.     begin
  35.       Ai := number_arr[i];
  36.       Aj := number_arr[j];
  37.      
  38.       bool := false;
  39.       // Проверка главного условия
  40.       if (Ai + Aj = m) then
  41.       begin
  42.         // Добавление чисел во временный массив  
  43.         if Ai > Aj then
  44.         begin
  45.           temp_arr[1] := Ai;
  46.           temp_arr[2] := Aj;
  47.         end
  48.         else
  49.         begin
  50.           temp_arr[1] := Aj;
  51.           temp_arr[2] := Ai;
  52.         end;
  53.         // Проверка наличия полученных
  54.         // чисел в массиве пар
  55.        
  56.         // Если массив пустой -
  57.         // Добавление чисел в массив пар
  58.         if (n = 1) then
  59.         begin
  60.           pair_arr[1][1] := temp_arr[1];
  61.           pair_arr[1][2] := temp_arr[2];
  62.           count := count + 1;
  63.           n := n + 1;
  64.         end
  65.        
  66.         // Если массив не пустой -
  67.         // проверка наличия чисел в массиве
  68.         // пар
  69.         else
  70.         begin
  71.           // Если такой пары нет - добавление в массив
  72.           k := 1;
  73.           while bool do
  74.           begin
  75.             if not ((pair_arr[k][1] = temp_arr[1])
  76.                 and (pair_arr[k][2] = temp_arr[2])) then
  77.             begin
  78.               write(pair_arr);
  79.               count := count + 1;
  80.               k := k + 1;
  81.               pair_arr[k+1][1] := temp_arr[1];
  82.               pair_arr[k+1][2] := temp_arr[2];
  83.               bool := true
  84.             end;
  85.           end;
  86.  
  87.         end;
  88.       end;
  89.     end;
  90.   end;
  91.   write('Количество пар: ', count+1)
  92. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement