Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
481 / 9 / 6
Регистрация: 28.12.2011
Сообщений: 151
1

указатель на двумерный массив

23.02.2013, 17:17. Показов 1457. Ответов 3
Метки нет (Все метки)

Делая игру морской бой, я столкнулся с 1-ой проблемой:
примерный набросок кода
C++
1
2
3
4
5
6
7
8
9
10
11
void place_ships(char &(&(map+13)+29)) //или (char **map) или (char &map[13][29]) или (char &&map[13][29]) и тд...
{
  if(map[10][3]==" "){map[10][3]='*';}
  ...
}
 
int main()
{
  char map[13][29]=...(карта из морского боя(прототип))
  place_ships(map);
}

где комментария или()или()... это мои варианты...(которые тоже не работают)



так вот в чем главный вопрос
Как в функции сделать указатель на двухмерный массив?

P.S.
поиск в гугле и на этом форуме юзал
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2013, 17:17
Ответы с готовыми решениями:

Указатель на двумерный массив
Здравствуйте. Программирую в Visual Studio 2017, на скриншоте собственно сама проблема. Как все так...

Указатель на двумерный массив
A эквивалентно *(*(A+i)+j). Просто давайте допустим, что у нас матрица A. Как вычислить допустим А?

Указатель на двумерный массив
Как сделать то же самое с двумерным массивом? Как работать с двумерными или n- мерными массивами...

Указатель на двумерный массив
Здравствуйте. Подскажите пожалуйста, а существуют ли в C/C++ указатели: 1) на двух-трёхмерные...

3
3750 / 2698 / 619
Регистрация: 08.06.2007
Сообщений: 9,280
Записей в блоге: 4
23.02.2013, 17:26 2
А вот так написать?
C++
1
void place_ships(char map[13][29])
1
Эксперт C
26046 / 16240 / 3488
Регистрация: 24.12.2010
Сообщений: 35,576
23.02.2013, 17:30 3
Так прям и пиши
C
1
void place_ships(char map[13][29])
Хотя те, кто похитрее, делают так
C
1
2
3
4
5
6
7
8
 void place_ships(char **map)
{ .... }
int main()
{ char **map;
    map = (char **) malloc(13*sizeof(char *));
    for (i=0; i<13; i++) map[i] = (char *) malloc(29);
    place_ships(map);
}
1
481 / 9 / 6
Регистрация: 28.12.2011
Сообщений: 151
23.02.2013, 18:56  [ТС] 4
Спасибо!

Байт, до динамических массивов я дойду позже, но учту. =)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.02.2013, 18:56

Указатель на двумерный массив
Возможно ли создать указатель на двумерный массив для вызова его в функции?

Указатель на двумерный массив
хочу заменить вот такую запись: fs.read((char*)&amp;size_struct, sizeof(int));...

Указатель на двумерный массив
Допустим, у меня есть функция: void A(float **b) { b=1; } Тогда почему выдает ошибку при...

Указатель на двумерный массив
#include &lt;iostream&gt; using namespace std; int a = { 0 }, b = { 1 }; void foo(int val) { int...


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

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

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