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

Сколько врени надо для выполнения программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Какая функция в С++ берет только дробную часть от числа? http://www.cyberforum.ru/cpp-beginners/thread22070.html
Какая функция в С++ берет только дробную часть от числа?:)
C++ Нужно записать массив в файл, а потом из этого файла считать этот же массив Помогите, пожалуйста, никогда с файлами делов не имела. Нужно записать массив в файл, а потом из этого файла считать этот же массив. Как это сделать на чистом Си? http://www.cyberforum.ru/cpp-beginners/thread22063.html
C++ Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора
Вот сама задачка.:) Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от x нач. до x кон. с шагом dx с точностью eps. Таблицу...
C++ Разместить на побочной диагонали матрицы суммы элементов, которые лежат на диагоналях, перпендикулярных к побочной.
суть задачи : Заполнить матрицу случайными числами. Разместить на побочной диагонали суммы элементов, которые лежат на диагоналях, перпендикулярных к побочной. Вот что есть. Но программа не...
C++ Конструктор http://www.cyberforum.ru/cpp-beginners/thread22026.html
Создать абстрактный тип данных - класс вектор, который имеет указатель на float, число элементов и переменную состояния. Определить конструктор без параметров, конструктор с параметром, конструктор...
C++ Вывод строк фиксированной длины из входного потока Задача организовать цикл по входному потоку и вывести полученные getchar'ом символы в виде строк некоторой длины N. Допустим, если длина строки превышает N, тогда печатаем ее с переносом на следующую... подробнее

Показать сообщение отдельно
Бартимеус
181 / 33 / 2
Регистрация: 29.10.2008
Сообщений: 283

Сколько врени надо для выполнения программы - C++

30.01.2009, 17:34. Просмотров 716. Ответов 2
Метки (Все метки)

Всем привет. В учебнике дейтела есть программа которая тасует карты. когда я скомпилил листинг программа не зависает, а долго думает. во всем виноват наибездарнейший цикл в функции shuffle(). скажите кто-нибудь сколько примерно времени надо для выполнения этой программы.
класс:
C++
1
2
3
4
5
6
7
8
9
class DeskOfCards
{
    public:
        DeskOfCards();
        void shuffle();     //тасует карты
        void deal();        //сдает карты
    private:
        int Desk[4][13];    //колода
};

определение класса:
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
57
#include <iostream>
using std::cout;
using std::endl;
#include <cstdlib>
using std::rand;
using std::srand;
#include "DeskOfCards.h"
//---------------------------
 
DeskOfCards::DeskOfCards()      
{
    for(int i=0; i<3; i++)
    {
        for(int j=0; j<13; j++)
        {
            Desk[i][j]=0;   
        }   
    }
    srand(time(0));             
}
 
void DeskOfCards::shuffle()     
{
    int row;
    int column;
    for(int i=0; i<=52; i++)
    {
        do{
            row=rand() % 4;
            column=rand() % 13;
        }while(Desk[row][column]!=0);
        Desk[row][column]=i;
    }   
}
 
void DeskOfCards::deal()    
{
    static const char *face[13]=
    {"Tuz", "Dvoika", "Troika", "Chetverka", "Pyaterka", "Shesterka",
    "Semerka", "Vosmerka", "Devyatka", "Desyatka", "Valet", "Dama", "Korol"};
    static const char *suit[4]=
    {"Piki", "Chervu", "Bubnu", "Trefu"};
    for(int i=1; i<=52; i++)
    {
        for(int row=0; row<3; row++)
        {
            for(int column=0; column<13; column++)
            {
                if(Desk[row][column]==i)
                {
                    cout<<"\t"<<face[column]<<" of "<<suit[row];
                    cout<<endl; 
                }
            }
        }
    }
}
функция int main():
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <conio.h>
#include <iostream>
#include "DeskOfCards.h"
 
using namespace std;
 
int main()
{
    DeskOfCards game1;
    game1.shuffle();
    game1.deal();
    cout<<"the end"<<endl;
    _getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru