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

Ошибка с массивами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ целочисленная прямоугольная матрица http://www.cyberforum.ru/cpp-beginners/thread313400.html
дана целочисленая прямоугольная матрица. Определить номер первого из столбцов , содержащих хотя бы один нулевой элемент Характеристикой строки целочисленной матрицы назовём сумму её отрицательных...
C++ Обработка вещественных чисел Дан текстовый файл, каждая строка которого содержит изображения нескольких чисел, разделенные пробелами (вещественные числа имеют ненулевую дробную часть). Создать файл вещественных чисел, содержащий... http://www.cyberforum.ru/cpp-beginners/thread313394.html
как по спирали матрицу вывести? C++
Дана квадратная матрица A порядка M (M — нечетное число). Начиная с элемента A1,1 и перемещаясь против часовой стрелки, вывести все ее элементы по спирали: первый столбец, последняя строка, последний...
C++ Дан текстовый файл. Удалить из него все пустые строки
Дан текстовый файл. Удалить из него все пустые строки. Дан ряд-предложение русским языком. Вывести самое короткое слово в предолжении. Если таких слов несколько, то вывести последнее из них....
C++ Сортировка чисел http://www.cyberforum.ru/cpp-beginners/thread313380.html
Всем привет, незнал как назвать тему, поэтому как-то так)) Вот и подкралась зачетная неделя, и как обычно куча долгов, если кто может подсобить с решением задачи, буду очень благодарен) Найти...
C++ Подскажите литературу где хорошо расписаны способы работы с типом string Всем доброго времени суток. Ребят нужна помощь подскажите литературу где хорошо расписаны способы работы с типом string ну или так черкните . Есть две строки s1 и k1 нужно их сравнить поэлементно ... подробнее

Показать сообщение отдельно
Игорь98
34 / 34 / 3
Регистрация: 12.02.2010
Сообщений: 239

Ошибка с массивами - C++

05.06.2011, 14:15. Просмотров 294. Ответов 1
Метки (Все метки)

Доброго времени суток. Пишу игру двадцать одно очко. Возникли проблемы с массивами. Есть класс, где хранятся: названия карт, значения карт, сумма всех очков и пара функций для генерации карт.
Сам класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#ifndef _KARDS_H
#define _KARDS_H
class kards
{
    public:
    AnsiString kard[5];
    int znachenie[5];
    int sum;
    AnsiString generate(void); // функция для генерации случайной карты
    int znach(AnsiString kard); // функции для вычисления значения карты
};
#endif
И есть поток который работает с классом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void __fastcall GenIgrok::Execute()
{
    kards igrok;
    
    for (int i = 0; i < 6; i++)
    {       
        igrok.kard[i] = igrok.generate(); 
        igrok.znachenie[i] = igrok.znach(igrok.kard[i]);
    }
    
    HMODULE hdll = LoadLibrary("kards.dll");
    if (!hdll)
    {
        MessageDlg("Библиотека 'kards.dll' не найдена!", mtError,
            TMsgDlgButtons() << mbOK, 0);
        return;
    }
 
    Form1->Image8->Picture->Bitmap->LoadFromResourceName((unsigned int)hdll, igrok.kard[0]);
    Form1->Image9->Picture->Bitmap->LoadFromResourceName((unsigned int)hdll, igrok.kard[1]);
 
    FreeLibrary(hdll);
}
Когда программа выполняется появляется ошибка (скрин прикрепил), дальше программа отлично работает, все генерирует и все подсчитывает, но меня напрягает эта ошибка

Ради интереса попробовал немного изменить код, сделать без массивов.
Класс:
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
#ifndef _KARDS_H
#define _KARDS_H
 
class kards
{
    public:
    AnsiString kard1;
    AnsiString kard2;
    AnsiString kard3;
    AnsiString kard4;
    AnsiString kard5;
    AnsiString kard6;
 
    int znachenie1;
    int znachenie2;
    int znachenie3;
    int znachenie4;
    int znachenie5;
    int znachenie6;
 
    int sum;
    AnsiString generate(void);
    int znach(AnsiString kard);
};
 
#endif
Поток:
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
void __fastcall GenIgrok::Execute()
{
    kards igrok;
 
    igrok.kard1 = igrok.generate();
    igrok.znachenie1 = igrok.znach(igrok.kard1);
 
    igrok.kard2 = igrok.generate();
    igrok.znachenie2 = igrok.znach(igrok.kard2);
 
    igrok.kard3 = igrok.generate();
    igrok.znachenie3 = igrok.znach(igrok.kard3);
 
    igrok.kard4 = igrok.generate();
    igrok.znachenie4 = igrok.znach(igrok.kard4);
 
    igrok.kard5 = igrok.generate();
    igrok.znachenie5 = igrok.znach(igrok.kard5);
 
    igrok.kard6 = igrok.generate();
    igrok.znachenie6 = igrok.znach(igrok.kard6);
 
    HMODULE hdll = LoadLibrary("kards.dll");
    if (!hdll)
    {
        MessageDlg("Библиотека 'kards.dll' не найдена!", mtError,
            TMsgDlgButtons() << mbOK, 0);
        return;
    }
 
    Form1->Image8->Picture->Bitmap->LoadFromResourceName((unsigned int)hdll, igrok.kard1);
    Form1->Image9->Picture->Bitmap->LoadFromResourceName((unsigned int)hdll, igrok.kard2);
 
    FreeLibrary(hdll);
}
Код отлично и без ошибок работает, но меня это не очень устраивает, хотелось бы разобраться с массивами!
0
Миниатюры
Ошибка с массивами  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru