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

Передача в параметр многомерного массива произвольного размера - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Преобразовать массив, прибавив к четным числам первый элемент http://www.cyberforum.ru/cpp-beginners/thread1123737.html
Не получается решить задачу можете помочь что как нужно? Дан целочисленный массив размера N. Преобразовать его, прибавив к четным числам первый элемент. Первый элемент массива не изменять. Много мучаюсь #include<iostream> #include<stdio.h> #include<conio.h> main()
C++ Swap для двунаправленного списка Поменять просто значения узлов, не интересно. Я запутываюсь с ссылками. элементы могут быть заглавными или последними. struct node { int k; node *next; node *pred; }; http://www.cyberforum.ru/cpp-beginners/thread1123731.html
C++ Составить программу, которая по дате рождения человека (день, месяц, год в числовой форме) вычисляет, сколько лет, недель и дней прожил человек
Составить программу, которая по дате рождения человека (день, месяц, год в числовой форме) вычисляет, сколько лет, недель и дней прожил человек по настоящую дату.
Составить программу , которая содержит динамическую информацию о наличие автобусов в парке C++
Составить программу , которая содержит динамическую информацию о наличие автобусов в автобусном парке . Сведения о каждом автобус включают : - номер автобуса ; - фамилия и инициалы водителя ; - номер маршрута . Программа должна обеспечивать : - начальное формирование данных о всех автобусы в парке в виде списка ; - при выезде каждого автобуса из парка вводится номер автобуса , и программа...
C++ Осуществить сдвиг элементов массива вправо на k позиций http://www.cyberforum.ru/cpp-beginners/thread1123679.html
Всем привет , помогите пожалуйста решить эту задачу на языке Си 9. Дан целочисленный массив размера N. Осуществить сдвиг вправо на k позиций, где k – сумма четных элементов
C++ Прокомментировать код Здравствуйте! Пожалуйста, как можно яснее откомментируйте коды программ, очень нужно для понимания, чтобы разобраться.. пожалуйста.. 1 задача #include <iostream> #include <cstdlib> #include <cmath> #include <locale> using namespace std; подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.03.2014, 14:13  [ТС]     Передача в параметр многомерного массива произвольного размера
Цитата Сообщение от programina Посмотреть сообщение
Нужно сделать преобразование аргумента в указатель.
Указатель на массив массивов не есть указатель на массив указателей на массивы. Синтаксически привести то можно, да вот беда: самого массива указателей на массивы нет. Ну приведу я к двойному указателю. И что? Доступ к
C++
1
a[i][j]
по двойному указателю означает
C++
1
(a[i])[j]
, то есть
C++
1
(*(a+i))[j]
, то есть
C++
1
*((*(a+i))+j)
, то есть есть указатель a его значение складывается с первым индексом, умноженным на размер указателя и по полученному адресу читается указатель, значение которого складывается со вторым индексом, умноженным на размер элемента, и уже по этому адресу осуществляется доступ. А при
C++
1
double a[3][3];
C++
1
a[i][j]
означает
C++
1
*(((double*)a)+i*3+j)
, то есть есть указатель a на весь массив элементов, а не указателей на строки, его значение складывается с двумя смещениями сразу: первое - произведение первого множителя на размер строки, второе - произведение второго индекса на размер элемента и по полученному адресу читается элемент. Это принципиально другая адресация.

Добавлено через 1 минуту
Цитата Сообщение от Ilot Посмотреть сообщение
Вы должно быть шутите? Вы передаете указатель на массив и в самой функции можете обрщаться к ЛЮБОМУ участку памяти по смещению (он же индекс).
Как бы не так.
 
Текущее время: 14:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru