Перемешать массив случайным образом (Pascal)

Прикладное программирование Программирование на Pascal Перемешать массив случайным образом (Pascal)

  • В этой теме 0 ответов, 1 участник, последнее обновление 1 год назад сделано Васильев Владимир Сергеевич.
Просмотр 0 веток ответов
  • Автор
    Сообщения
    • #5587
      @admin
      StudLance.ru

      Первое число массива меняем со случайным числом следующим за ним, т.е. от 2 до n-го, второе число меняем с числом из диапазона [3, n] и т.д.

      program RandomArray;
      
      uses
        CRT;
      
      const
        n = 10;
      type
        a_type = array [1..n] of integer;
      var
        a: a_type;
        m, x, i: integer;
      begin
        ClrScr;
        randomize;
        {исходный массив}
        for i := 1 to n do
          a[i] := i;
        for i := 1 to n do
          write(a[i]: 3);
        writeln;
        for i := 1 to n - 1 do
        begin
          {случайное число из диапазона i+1,n}
          m := random(n - i - 1) + i + 1;
          {обмен i и m числа массива }
          x := a[i];
          a[i] := a[m];
          a[m] := x;
        end;
        for i := 1 to n do
          write(a[i]: 3);
        readln;
      end.

      StudLance.ru

Просмотр 0 веток ответов
  • Для ответа в этой теме необходимо авторизоваться.
×