type
TSuite = (stDiamonds,stHearts,stClubs,stPeaks);
TCard = record
Suite : TSuite; {Масть}
Number : Byte; {Значение}
end;
Двунаправленный список
Помогите решить: "Создать двунаправленный список и разместить в нём в определённом порядке данные о колоде карт. Разработать программу, проводящую перемешивание колоды путём сдвига и перестановки её частей, результаты перемешивания вывести на экран"
Пример двусвязного списка на паскале.
В поле дата желательно хранить следующий тип:
Когда сделаешь - дальнейший алгоритм такой:
1. Определяем рандомом число перемешиваний.
2. Циклом от 1 до числа перемешиваний.
3. Генерируем случайное число 1<N<35 - начало той части колоды, которую будем изымать.
4. Генерируем случайное число 1<M<36-N - длина последовательности, которая изымается.
5. Генерируем случайное число 0<P<N-1 - позиция, в которую будем вставлять кусок колоды.
6. Переносим кусок колоды, заданный (N;M) в другой список.
7. Сливаем эти списки, вставляя начиная с позиции P.
Подробнее о списках можешь почитать здесь.
В поле дата желательно хранить следующий тип:
Код:
Когда сделаешь - дальнейший алгоритм такой:
1. Определяем рандомом число перемешиваний.
2. Циклом от 1 до числа перемешиваний.
3. Генерируем случайное число 1<N<35 - начало той части колоды, которую будем изымать.
4. Генерируем случайное число 1<M<36-N - длина последовательности, которая изымается.
5. Генерируем случайное число 0<P<N-1 - позиция, в которую будем вставлять кусок колоды.
6. Переносим кусок колоды, заданный (N;M) в другой список.
7. Сливаем эти списки, вставляя начиная с позиции P.
Подробнее о списках можешь почитать здесь.
Спасибо! +1