Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2012, 00:01   #1
packa
Новичок
Джуниор
 
Регистрация: 20.01.2012
Сообщений: 2
По умолчанию Проблема с двумерным массивом изображений

Здравствуйте! У меня есть 2 массива: 1 числовой, который присваивает ячейке цифру 0-8, 2 массив изображений.

Код:
// int bh[9][9]
randomize();
for(int i = 0 ;i < 8; i++)
        {
        for(int j = 1 ;j < 9; j++)
                {
                bh[i][j]=random(8);
                }
        }
Код:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int JP=0;
int p = 0;
NumImg=8;
Img=new TImage*[NumImg];
for(int j=0;j<NumImg;j++)
 {
        for(int i=0;i<NumImg;i++)
        {  a=bh[i][j];
        Label7->Caption=Label7->Caption+bh[i][j] ;
        Label8->Caption=Label8->Caption+JP ;
         JP=JP++;
        switch (bh[i][j])
                {
                //case 0   : Img[i]->Picture->LoadFromFile("18.bmp"); break;
                case 1   : Img[i]->Picture->LoadFromFile("11.bmp"); break;
                case 2   : Img[i]->Picture->LoadFromFile("12.bmp"); break;
                case 3   : Img[i]->Picture->LoadFromFile("13.bmp"); break;
                case 4   : Img[i]->Picture->LoadFromFile("14.bmp"); break;
                case 5   : Img[i]->Picture->LoadFromFile("15.bmp"); break;
                case 6   : Img[i]->Picture->LoadFromFile("16.bmp"); break;
                case 7   : Img[i]->Picture->LoadFromFile("17.bmp"); break;
                default: ;
                }
        Img[i]=new TImage(this);
        //Img[i]->Picture->LoadFromFile("18.bmp");
        Img[i]->Parent=this;
        Img[i]->Left=150+i*45;
        Img[i]->Top=10+p;
        Img[i]->Visible=true;

        }
 p=p+49;
 Label7->Caption=Label7->Caption+" " ;
 Label8->Caption=Label8->Caption+" " ;
 }delete Img;
}
Вот так работает, НО

1) Последняя строчка пустая увидеть ее можно сняв коммент тут: //Img[i]->Picture->LoadFromFile("18.bmp");
2) если разкомментить case 0, неминуемо объявится ошибка.
пытался в массиве bh поменять j - тогда ошибки в разных case-строчках
packa вне форума Ответить с цитированием
Старый 22.01.2012, 14:06   #2
pilot01
 
Регистрация: 22.01.2012
Сообщений: 3
По умолчанию

доброго времени суток
слушай я не могу тебе помочь, так как новичок в этом..
но помоги ты мне пожалуйста.
мне надо сделать такой же массив, для игры Lines, чтобы 3 шарика рандомно выскакивали на поле.
вот я и спрашиваю, в твоем коде как объявлена переменная

NumImg=8; ?

я хотел сделать так же, но у меня ругается всё, что мол нельзя конвертировать TPicture в int, типа того, буду очень благодарен за ответ.
pilot01 вне форума Ответить с цитированием
Старый 27.01.2012, 21:13   #3
packa
Новичок
Джуниор
 
Регистрация: 20.01.2012
Сообщений: 2
По умолчанию

Код:
private:	// User declarations
  TImage **Img;
  int NumImg;
В заголовочном файле

Цитата:
мне надо сделать такой же массив, для игры Lines, чтобы 3 шарика рандомно выскакивали на поле.
Я тоже именно это и делаю.
Моя аська 396966931, обращайся, расскажу что знаю, да и вообще могли бы друг другу помогать + скайп pandapacka
packa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с двумерным массивом kami46 Помощь студентам 3 20.11.2010 17:51
Проблема с двумерным массивом в VBA HellkilleR Microsoft Office Excel 2 30.03.2010 05:48
Помогите с двумерным массивом в С++ Vultar Помощь студентам 11 12.11.2009 18:28
Задача с двумерным массивом. svobodys Паскаль, Turbo Pascal, PascalABC.NET 0 14.12.2008 18:09
Задача с двумерным массивом. svobodys Помощь студентам 3 13.12.2008 15:44