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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 5.00
ElectroNik
0 / 0 / 0
Регистрация: 23.11.2010
Сообщений: 6
#1

Как с помощью указателя пройтись по двухмерному массиву? - C++

20.02.2011, 15:25. Просмотров 1066. Ответов 4
Метки нет (Все метки)

Всем привет. Подскажите плиз. Как с помощью указателя пройтись по двухмерному массиву и выдать значения елементов.
есть массив
C++
1
2
3
4
5
  int array[MAX][MAX]={             
                      {3,2,1},      
                      {3,4,5},      
                      {9,6,7}       
                      };
затем пробуем так:
C++
1
2
int *ps_array;
    ps_array=&array;
не выходит
ошибка 'second.cpp:13: cannot convert `int (*)[3][3]' to `int *' in assignment'

Заранее благодарен за ответ.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2011, 15:25     Как с помощью указателя пройтись по двухмерному массиву?
Посмотрите здесь:

Создать функцию, добавляющую столбец двухмерному динамическому массиву - C++
Доброго времени суток, уважаемые форумчане! Помогите, пожалуйста, разобраться как написать функцию, удаляющую столбец двумерному...

Как обращаться к строке и столбцу матрицы с помощью указателя? - C++
Такое дело. Пытаюсь разобраться с указателями уже недели две и не понимаю, как пользоваться ими при работе с массивами, особенно...

Обнулить массив с помощью указателя - C++
1.как обнулить массив с помощью указателя?? 2.как передать в функцию одномерный и двумерные массивы???

Преобразование температуры с помощью указателя - C++
#include <cmath> #include <iostream> using namespace std; void convert_temp(double *p); int main(){ double n; cout<<"введем...

Записать в переданную переменную результат с помощью указателя - C++
суть задания, чтобы в переданную переменную записать результат через указатель y =|x - cos(x)| #include "stdafx.h" #include...

Задано натуральное число, разместить памяти последовательно все его цифры с помощью указателя - C++
Задано натуральное число, разместить их памяти последовательно все его цифры с помощью указателя.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Meer
0 / 0 / 0
Регистрация: 19.02.2011
Сообщений: 17
20.02.2011, 19:30     Как с помощью указателя пройтись по двухмерному массиву? #2
C++
1
int *p = &array[0][0];
John Paramol
Сообщений: n/a
25.02.2011, 10:05     Как с помощью указателя пройтись по двухмерному массиву? #3
Вопрос в тему, у меня наоборот есть указатель на одномерный массив графических данных,
он передается в функцию, там для удобства хотелось бы получить указатель на массив, то есть по сути двумерный массив.
Пытаюсь сделать что-то вроде этого (код инвалидный):
C++
1
2
3
4
5
void function(void *buf, const UINT Width, const UINT Height)
{
  (TColor (*)[Height]) pointer = (TColor (*)[Height])buf;
  pointer[0][0]=0; // типа двумерный массив
}
Подобное преобразование возможно вообще?
Заранее спасибо.
SevaB
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 39
25.02.2011, 13:21     Как с помощью указателя пройтись по двухмерному массиву? #4
TColor array[N][M] - по сути - массив массивов. И с одномерным массивом он не совместим.

В Вашем случае можно сделать следующее
C++
1
2
void function(void *buf, const UINT Width, const UINT Height)
#define B(i,j) ((TColor *)buf)[(j)*Height+(i)]
Это самое макро, по сути будет заменять двумерный массив.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2011, 08:31     Как с помощью указателя пройтись по двухмерному массиву?
Еще ссылки по теме:

Как пройтись по всем переменным? - C++
у меня есть переменные x1,x2,x3,.....,xn. есть какой нибудь способ пройтись по ним всем и каждой присвоить значение или прочесть ее. массив...

Как пройтись по чужому исходному коду ? - C++
visual studio 2008 есть большой многофайловый проект и мне нужно изучить его исходный код как пройтись по его коду от начала до конца?...

Как пройтись по всем типам std::tuple - C++
Здравствуйте! Как пройтись по всем типам std::tuple, не создавая экземпляр подобного объекта? Добавлено через 54 минуты Вопрос...

Как обратиться к массиву - C++
вот я создал динамический массив: int a1 = 4; // строк int a2 = 7; // столбцов // создадим динамичесий массив с которым будем...

Как обратиться к массиву буквой? - C++
Текст задания : Шахматная партия. Шахматная доска имеет размер 8х8. При этом координаты фигуры задаются в шахматной нотации , т.е....

Как из указателя получтлся массив? - C++
Возможно глупый вопрос,но как unsigned char *e превратился в массив? int add(CStash* s ,const void* element){ if(s->next >=...


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

Или воспользуйтесь поиском по форуму:
John Paramol
Сообщений: n/a
26.02.2011, 08:31     Как с помощью указателя пройтись по двухмерному массиву? #5
Все работает, даже странно =(:-))
Спасибо
Yandex
Объявления
26.02.2011, 08:31     Как с помощью указателя пройтись по двухмерному массиву?
Ответ Создать тему
Опции темы

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