Да, можно прямым перемешиванием, хотя, при особом невезении, можно получить неперемешанный массив. Да, инициализацию массива забыл. И еще одна проблема в твоем коде - в моем варианте я всегда генерирую любое число от 1 до 9 не зависимо от длинны переданного массива. Именно поэтому используется временный массив, из которого потом производится копирование. Это не очень хорошо, если надо сгенерировать РЕАЛЬНО большую последоватиельность (например, если надо генерировать числа от 1 до, допустим, 1 млрд), памяти дополнительной много сожрет. С другой стороны, в твоем варианте все равно есть проблема, если надо сгенерировать любые 5 чисел из диапазона 1..9, как мне кажется, хотя очень внимательно не смотрел.
|