|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.07.2011, 22:00 | #1 |
Новичок
Джуниор
Регистрация: 14.07.2011
Сообщений: 2
|
Ошибка в коде.
Здравствуйте. Я изучаю язык С++ около года. Вот решел намисать программу, которая эмитировала бы лотерею. Для этого написал часть кода, чтобы сформировать лотерейные билеты. Однако возникла непонятная мне ситуация. Функция create создает билет, check - проверяет, был ли такой же билет сгенерирован ранее. Вслучае, если не был, то я добавляю этот билет в список, иначе, не добавляю. Но в чем основной парадоск. Я решил проверить, как быстро генерируются билеты, сделел цикл, с выводом числа сгенерированных билетов (переменная сount). Но вот если в Debug нажимать F5 не с частотой менее раза в секунду (либо использвать функцию Sleep), то все работает правильно, а если запустить просто так, то всегда один билет. Я предполагаю, что у меня ошибка в выделении и распределении памяти.
Вот кусок кода: for (int i = 0; i < 30; i++) { getTicket = create(); //сгенерировать билет if (check(ticketArray, getTicket, count)) //проверить не было ли такого { int*** t_ticketArray = new int **[count + 1]; for (int n = 0; n < count; n++) t_ticketArray[n] = ticketArray[n]; t_ticketArray[count++] = getTicket; system("cls"); cout << count << " tickets are ready " << endl; delete[] ticketArray; ticketArray = t_ticketArray; // Sleep(1000); } } cout << '\n' << count; |
14.07.2011, 22:49 | #2 |
Пользователь
Регистрация: 26.06.2011
Сообщений: 85
|
Уфф... не люблю разбираться в чужом коде
Вы точно изучаете С++ около года? За целый год не услышать о полезности тега "код" - это нужно умудриться О коде - это очень сильное колдунство, хотелось бы увидеть программу целиком. И вообще, почему бы не использовать векторы из STL? Избавились бы от кучи проблемы с выделением/высвобождением памяти, да и переменная count стала бы ненужна.
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (c) Martin Golding
Последний раз редактировалось Nedward; 14.07.2011 в 22:51. |
14.07.2011, 23:17 | #3 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
Код:
|
14.07.2011, 23:27 | #4 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
Трехмерный массив. Явный признак чудовищной архитектуры программы.
Ищете информацию по C++?
cplusplus.com |
14.07.2011, 23:30 | #5 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
я в курсе что это, я имею ввиду, что это за ужас
|
15.07.2011, 14:43 | #6 |
Новичок
Джуниор
Регистрация: 14.07.2011
Сообщений: 2
|
Спасибо большое. Я немного изменил программу, сделал через класс и даже нашел в чем была ошибка.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ошибка в коде С | Mr.Merso | Помощь студентам | 4 | 10.05.2011 00:52 |
ошибка в коде | sanya94 | Общие вопросы C/C++ | 15 | 12.01.2011 19:26 |
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? | ankris | HTML и CSS | 5 | 23.11.2010 16:58 |
Ошибка в коде | Cronos20 | PHP | 3 | 09.07.2010 23:31 |
Ошибка в коде | konstantinopol | Общие вопросы по Java, Java SE, Kotlin | 1 | 26.10.2009 23:21 |