Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Массив массивов, Чуток не понимаю 
V
    Опции темы
kiLLProg
Дата 26.7.2012, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Всем привет.
Пытаюсь объявить массив массивов так 
Код

typedef int gameState[3][3];
gameState neighbours[4];

но при 
neighbours[idx] = s; // s - двухмерный массив
neighbours[idx][i, j] = 0;
возникает ошибка (Lvalue required). Как тут быть подскажите пожалуйста?  smile 

PM MAIL   Вверх
586
Дата 26.7.2012, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 10
Всего: 146



neighbours[idx][i][j]
PM   Вверх
borisbn
Дата 26.7.2012, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



Цитата(kiLLProg @  26.7.2012,  16:46 Найти цитируемый пост)
neighbours[idx] = s; // s - двухмерный массив

в Си/Си++ так нельзя. Совсем. В Си для этого существует memcpy, а в Си++ - std::vector


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
feodorv
Дата 27.7.2012, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 11
Всего: 45



Цитата(borisbn @  26.7.2012,  23:29 Найти цитируемый пост)
в Си/Си++ так нельзя. Совсем.

Нельзя.  smile Но структуры копировать уже можно:
Код

#include <stdio.h>

typedef struct
{
  int v[3][3];
} gameState;

int main( void )
{
  gameState neighbours[4];
  gameState s;
  int i, j, k;

  for( k = 0; k < 4; k++)
    for( i = 0; i < 3; i++)
      for( j = 0; j < 3; j++)
        neighbours[k].v[i][j] = 0;

  for( i = 0; i < 3; i++)
    for( j = 0; j < 3; j++)
      s.v[i][j] = i+j+1;

  neighbours[1] = s;

  for( k = 0; k < 4; k++)
  {
    for( i = 0; i < 3; i++)
    {
      for( j = 0; j < 3; j++)
        printf( "%d", neighbours[k].v[i][j]);
      printf( "\n" );
    }
    printf( "\n" );
  }
}


Это сообщение отредактировал(а) feodorv - 27.7.2012, 01:21


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
kiLLProg
Дата 27.7.2012, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Да, спасибо. Так и думал, что массив в структуру можно закатать. Приеду домой попробую. И memcpy попробую.  smile 

Это сообщение отредактировал(а) kiLLProg - 27.7.2012, 10:08
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0448 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.