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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mikle90
1 / 1 / 0
Регистрация: 15.03.2012
Сообщений: 23
#1

Игра крепс, выполняемая 1000 раз, не запускается - C++

21.02.2013, 13:14. Просмотров 346. Ответов 2
Метки нет (Все метки)

Написал программу игры в крепс, выполняемая 1000 раз. Компилятор ошибок никаких не выдает. При запуске выходит исключение, помогите найти ошибку
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
#include<iostream>
#include<cstdlib>
#include<time.h>
using namespace std;
int kreps()
{
    srand(time(NULL));
    int ochki1 = 1 + rand()%6, ochki2 = 1 + rand()%6;
    return ochki1 + ochki2;
}
int main()
{
    setlocale(0,"");
    int  raz, ochki,pobeda[1000] = {0}, proigrish[1000] = {0} ;
 
    for (raz = 1; raz <= 1000; raz++)
    {
        ochki = kreps();
        while (ochki == 4 || ochki == 5 || ochki == 6 || ochki == 8 || ochki == 9 || ochki == 10)
        {
            raz++;
            ochki = kreps();
        }
        if (ochki == 2 || ochki == 3 || ochki == 12)
            proigrish[raz]++;
        else if (ochki == 7 || ochki == 11)
            pobeda[raz]++;
        
    }
    cout << "Побед после 1-ого броска:\t" << pobeda[1] << endl;
    cout << "Побед после 2-ого броска:\t" << pobeda[2] << endl;
    cout << "Побед после 5-ого броска:\t" << pobeda[5] << endl;
    cout << "Побед после 10-ого броска:\t" << pobeda[10] << endl;
    cout << "Побед после 20-ого броска:\t" << pobeda[20] << endl;
    cout << "Поражений после 1-ого броска:\t" <<  proigrish[1] << endl;
    cout << "Поражений после 2-ого броска:\t" <<  proigrish[2] << endl;
    cout << "Поражений после 5-ого броска:\t" <<  proigrish[5] << endl;
    cout << "Поражений после 10-ого броска:\t" <<  proigrish[10] << endl;
    cout << "Поражений после 20-ого броска:\t" <<  proigrish[20] << endl;
    cout << "Побед:\t" << pobeda[raz] << endl;
    cout << "Поражений:\t" << proigrish[raz] << endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2013, 13:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Игра крепс, выполняемая 1000 раз, не запускается (C++):

Игра в Крепс - C++
Привет всем, вот собсвенно задача: Написать программу,которая выполняет 1000 игр в крепс и отвечаеи на слудеющие вопросы: а)...

Void в программе моделирования игры в крепс - C++
если void не возвращает никакое значение, то почему в функции на скрине rollDice возвращает workSum переменную типа int? объясните пжл

Найти и исправить ошибки в коде: игра "Крепс" (программа из учебника Харви и Пола Дейтелов) - C (СИ)
Решил проверить работу программы из учебника Харви Дейтела и Пола Дейтеле. Получается, что при ее выполнении игрок всегда выигрывает, хотя...

Выполняемая процедура - Firebird/InterBase
Добрый день! Помогите, пожалуйста. Написала процедуру. Переменная i - процент на который нужно повысить цены в поле kol_vo Выдает...

Одна выполняемая программа-процесс - Delphi
Возможно ли в Delphi как-то сделать так, что бы в одно и то же время только 1 копия программы могла выполняться (ну, что бы невозможно...

Возможно, уже 1000 раз про выбори - MS Access
Нужна помощь. Пытаюсь сделать базу данных. Есть таблица в которой указаны адреса (таблица &quot;справочник ОБЪЕКТОВ&quot;) и таблица &quot;степень...

2
Kuzia domovenok
2119 / 1949 / 192
Регистрация: 25.03.2012
Сообщений: 6,755
Записей в блоге: 1
21.02.2013, 13:18 #2
Цитата Сообщение от Mikle90 Посмотреть сообщение
for (raz = 1; raz <= 1000; raz++)
C++
1
for (raz = 0; raz < 1000; raz++)
Добавлено через 43 секунды
Цитата Сообщение от Mikle90 Посмотреть сообщение
int kreps()
{
* * srand(time(NULL));
лучше делать srand один раз в начале программы в мейне
1
gray_fox
What a waste!
1531 / 1236 / 71
Регистрация: 21.04.2012
Сообщений: 2,601
Завершенные тесты: 3
21.02.2013, 13:21 #3
Вот здесь
Цитата Сообщение от Mikle90 Посмотреть сообщение
proigrish[raz]++;
и здесь
Цитата Сообщение от Mikle90 Посмотреть сообщение
pobeda[raz]++;
будет выход за пределы массива, если raz == 1000 (индексирование массивов начинается с нуля, т.е. элементов proigrish[1000] и pobeda[1000] не существует).

Добавлено через 1 минуту

Не по теме:

ну написали уже...)

1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2013, 13:21
Привет! Вот еще темы с ответами:

Создать батник, который открывает файл 1000 раз - CMD/BAT
Здравствуйте!У меня есть простое консольное клиент-серверное приложение (многопоточное). Для проверки работоспособности...

Не работает событие focus() (я 1000 раз напишу на доске разницу JS и Java) - jQuery
Помогите разобраться. Не заменяется картинка по событию focus() $(document).ready(function () { $(&quot;#in_the_picto&quot;).focus(function()...

Не запускается игра - Windows 7
Помогите пожалуйста,установил семёрку,всё работает отлично только вот когда запускаешь игру The Chronicles of Riddick: Assault on Dark...

Не запускается игра - Pascal ABC
Хочу написать бродилку, но она не запускаетсяuses Robot; procedure KeyDown(Key: integer); begin while True do case Key of ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru