С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

20.02.2011, 15:25. Просмотров 1093. Ответов 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'

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

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

Как обращаться к строке и столбцу матрицы с помощью указателя? - 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...

4
Meer
0 / 0 / 0
Регистрация: 19.02.2011
Сообщений: 17
20.02.2011, 19:30 #2
C++
1
int *p = &array[0][0];
0
John Paramol
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)]
Это самое макро, по сути будет заменять двумерный массив.
0
John Paramol
26.02.2011, 08:31 #5
Все работает, даже странно =(:-))
Спасибо
26.02.2011, 08:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2011, 08:31
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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