Форум программистов, компьютерный форум CyberForum.ru

Как сделать что бы карты выводились рандомом? - C++

Восстановить пароль Регистрация
 
vladislavchik
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 16
10.03.2014, 13:09     Как сделать что бы карты выводились рандомом? #1
Здравствуйте, подскажите пожалуйста, что тут нужно дописать что бы карты выводились не по порядку, а в разброс(перетасованы)? Заранее большое спасибо!)

C++
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
#include <iostream>
#include <ctime>
using namespace std;
void main()
{
    srand(time(NULL));
 
    char a=218, s=196, d=191,  f=179, g=217, h=192;
    char deck [3][36];
    int nom[9]={54,55,56,57,48,74,81,75,65};
    int point[9]={6,7,8,9,10,2,3,4,11};
    char suit [4]={3,4,5,6};
    for (int i=0; i<36; i++)
    {
        deck[0][i]=nom[i%9];
        deck[1][i]=point[i%9];
        deck[2][i]=suit[i/9];
                
    }
    for (int i=0; i<36; ++i)
    {
        cout<<a<<s<<s<<s<<d<<endl;
        if (deck[0][i]==48)
            cout<<f<<"10 "<<f<<endl;
        else
            cout<<f<<deck[0][i]<<"  "<<f<<endl;
        cout<<f<<' '<<deck[2][i]<<' '<<f<<endl;
        if (deck[0][i]==48)
            cout<<f<<" 10"<<f<<endl;
        else
            cout<<f<<"  "<<deck[0][i]<<f<<endl;
        cout<<h<<s<<s<<s<<g<<endl;
        
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2014, 13:09     Как сделать что бы карты выводились рандомом?
Посмотрите здесь:

Как сделать что б из потока выводились данные на листбокс C++
Как зделать чтобы при открытии программы выводились разные числа C++
C++ Как сделать что бы программа не завершалась
как сделать что бы когда нажал выбор кокого нить пункта, а он выделялся и с помощью Enter я подтверждаю что выбираю C++
Как сформировать из массива х массив y что бы елементы выводились в массиве до минимального значения? C++
C++ Работа со строками ( сделать так, чтобы введенные символы с пробелом выводились в виде идентификаторов)
C++ сделать так, чтобы при разных значениях cin, выводились разные сообщения
C++ Как сделать чтобы в постфиксной записи кроме цифр выводились еще и обычные символы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jurok_85
226 / 209 / 70
Регистрация: 21.02.2013
Сообщений: 494
10.03.2014, 13:57     Как сделать что бы карты выводились рандомом? #2
вот один из алгоритмов:
C++
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
51
52
53
54
55
56
#include <iostream>
#include <stdlib.h>
#include <ctime>
 
 
using namespace std;
 
struct Card {
    char *face;
    char *suit;
    };
void fillDeck(Card *wDeck, char *wFace[], char *wSuit[])
{
    int i;
 
    for (i = 0; i < 52; i++)
    {
        wDeck[i].face = wFace[i % 13];
        wDeck[i].suit = wSuit[i / 13];
    }
}
void shuffle(Card *wDeck, int shuffled)
{
    int i, j, x;
    Card temp;
    for (x = 0; x < shuffled ; x++) // A big shuffle
    {
        for (i = 0; i < 52; i++)
        {
            j=rand() % 52;
            temp = wDeck[i];
            wDeck[i] = wDeck[j];
            wDeck[j] = temp;
        }
    }
}
void print_deck(Card *wDeck)
{
    for(int i = 0; i != 52;i++)
    {
        cout<< wDeck[i].face << " "<< wDeck[i].suit << endl;
    }
}
int main()
{
    int shuffled = 1250;
    Card deck[52];
    char *face[] = {"Ace","Duece","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King"};
    char *suit[] = {"Hearts","Clubs","Diamonds","Spades"};
    srand(time(NULL));
    fillDeck(deck, face, suit);
    print_deck(deck);
    shuffle(deck, shuffled);
    cout << endl;
    print_deck(deck);
}
Yandex
Объявления
10.03.2014, 13:57     Как сделать что бы карты выводились рандомом?
Ответ Создать тему
Опции темы

Текущее время: 22:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru