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

символы и рандом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамическое распределение памяти. http://www.cyberforum.ru/cpp-beginners/thread233406.html
#include<stdio.h> #include<stdlib.h> int bespor(int *ptr); void main(void){ int *ptr,kolvo,b=0,i,z=1; scanf("%d",&kolvo);//Сколько элементов в последовательности? kolvo--; if(kolvo>1){
C++ Каким образом организовывать ввод данных для поддержки программной обработка неправильно введенных данных? Каким образом организовывать ввод данных для поддержки программной обработка неправильно введенных данных? никак не вкурю,что бы это могло означать?)) http://www.cyberforum.ru/cpp-beginners/thread233394.html
C++ Если данное четырехзначное число является симметричным, выведите 1
помогите ! В условии одной из задач на этом сайте написано: “Если данное четырехзначное число является симметричным, выведите 1, иначе выведите любое другое целое число”. Для проверки задачи...
C++ симметричное число
пытаюсь определить, является ли 4-х значное число палиндромом. что я здесь не так делаю? #include <iostream> using namespace std; int main() { int a; cin>>a; int rev = 0;
C++ Как работать с окнами? http://www.cyberforum.ru/cpp-beginners/thread233372.html
Здраствуйте, помогите пожалуйсто, не как немогу найти инфу о том как работать с окнами, ни книг на эту тему нечего найти немогу, скиньте хоть какую небудь информацию о том как с этим всем работать...
C++ 3 Теоретических Вопроса 1. Какие спецификации форматов ввода-вывода данных имеют функции scanf() и printf()? Каким образом организовывать ввод данных для поддержки программной обработка неправильно введенных данных?... подробнее

Показать сообщение отдельно
x1Mike7x
217 / 130 / 6
Регистрация: 06.11.2010
Сообщений: 234
24.01.2011, 18:44
Консольный покер хочешь написать?)
Вот вывод всех карт на экран:
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
struct card
{
    char value, suit;
};
//value {2,3,4,5,6,7,8,9,T,J,Q,K,A}
//suit {3,4,5,6}
  
int main()
{
    struct card deck[52];
    char x, buf[1];
    int i=0, v, s;
    
    for (s=3; s<7; s++)
        for (v=1; v<14; v++)
        {
            x = (v==1) ? ('A') :
                        (v==10) ? ('T') :
                            (v==11) ? ('J') :
                                (v==12) ? ('Q') :
                                    (v==13) ? ('K') :
                                        ('X');
            if (x=='X')
            { 
                itoa(v, buf, 10);
                deck[i].value=buf[0];
            }
            else
                deck[i].value = x;
            deck[i].suit = s;
            i++;
        };
    
    srand((unsigned)time(NULL));
    
    for (i=0; i<52; i++)
        printf("%c%c\n", deck[i].value, deck[i].suit);
    
    system("pause");
    return 0;
}
По второму: Если у тебя будет рандомно перетасована колода, то можно просто на место вытянутой карты помещать последнюю из массива и в следующем рандоме-выборе карт указывать диапазон массива на 1 меньше. То есть:
1) Выбираем карту из массива на 52 карты (i=rand()%52, arr[i]);
2) Если выбранная карта не была последней в массиве, то переставляем последнюю карту на место выбранной;
3) Проводим следующий выбор карты, но у же из массива на 51 элемент (i=rand()%51, arr[i]);
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru