1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
#include <windows.h> #include <iostream> #include <iomanip> #include <conio.h> #include <time.h> using namespace std; void shuffle(int [][13]); void deal(const int [][13], const char *[], const char *[]); int main() { SetConsoleOutputCP(1251); // это для русификации консоли const char *suit[4] = {"Червей","Бубен","Треф","Пик"}; const char *face[13] = {"Туз","Двойка","Тройка","Четверка","Пятерка","Шестерка","Семерка", "Восьмерка","Девятка","Десятка","Валет","Дама","Король"}; int deck[4][13] = {0}; srand(time(NULL)); shuffle(deck); deal(deck, face, suit); cout << endl << "OK" << endl; _getche(); return 0; } void shuffle(int wDeck[][13]) { int row, col; for (int card = 1; card <= 52; card++) { do { row = rand() % 4; col = rand() % 13; } while ( wDeck[row][col] != 0); wDeck[row][col] = card; } } void deal(const int wDeck[][13], const char *wFace[], const char *wSuit[]) { for (int card = 1; card <= 52; card++) for (int row = 0; row < 4; row++) for (int col = 0; col < 13; col++) if (wDeck[row][col] == card) cout << setw(9) << setiosflags(ios::right) << wFace[col] << ' ' << setw(5) << setiosflags(ios::left) << wSuit[row] << (card % 2 == 0 ? '\n' : '\t'); } |
Уверен найдутся те, кому пригодится. Всё, что тут происходит описано в книге Дейтелов.
Пасиб помог) пол нета обыскал пока нашел в чем проблема) 😉