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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Табулирование функции http://www.cyberforum.ru/cpp-beginners/thread53191.html
Мне нужна программа табулирования функции (в общем виде) на С. помогите,пожалуйста=)
C++ Бинарное Дерево Народ помогите сделать конструктор копирования для бинарного дерева вот мой код #pragma once template <class T> struct TreeEl{ T data; TreeEl<T> *pLeft,*pRight,*pParent; TreeEl(T d):data(d),pLeft(0),pRight(0),pParent(0) {} }; http://www.cyberforum.ru/cpp-beginners/thread53171.html
C++ Парадокс: значение переменной равно её адресу
Друзья! Вот код, в нём всё понятно. Выводятся одинаковые значения. Но ведь этого не может быть! Хотя бы потому не может, что по адресу, который выводится первым, должно находиться значение символа '0'! Ну, то есть первая и третья строка вывода предсказуемы. Но вторая вообще ни в какие ворота не лезет. Помогите разобраться, пожалуйста. Спасибо. #include <stdio.h> int main () { char s =...
Система двух линейных уравнений C++
Задача на решение системы, состоящей из двух линейных уравнений, по формуле Крамера. Т.е. через определитель вотрого порядка. #include <iostream> #include <conio.h> using namespace std; int non_main() { cout << "<=EQUATION SYSTEM=>\n\nHere there are two linear equations: \n" << "a1*x1 + b1*x2 = c1\na2*x1 + b2*x2 = c2\n\nEnter numbers:\n";
C++ Умножение матриц http://www.cyberforum.ru/cpp-beginners/thread53080.html
Решенная задача на умножение матриц для сборника. Матрицы вводятся с клавиатуры построчно. #include <iostream> #include <conio.h> using namespace std; void matrix_output(int ** MATRIX, int STRINGS, int COLUMNS); int main() {
C++ Вычислить сумму первых N элементов ряда Помогите пожалуйста решить такую задачу: Вычислить сумму первых N элементов ряда:X-X^2/2+X^3/3-X^4/4+X^5/5..... . Вычисление проводить до тех пор пока модуль очередного элемента больше E(эпсиолон). подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,300
29.09.2009, 18:07     Как передать в функцию указатель на двумерный массив заранее неизвестного размера?
Ребята, скажите пожалуйста, как реализовать такую идею? Необходимо передать в
функцию двумерный массив, чтобы она изменала его элементы. вся загвоздка в том, что,
Количество строк и столбцов массива должны вводиться с клавиатуры
То есть такой код не работает

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
//Вот здесь возникает ошибка. Компилятор требует, чтобы я указал число N. А как я
//укажу, если я сам его не знаю заранее?
void func (char a [] [N] ) {
}
 
int main () {
 int M, N;
 char array [M] [N];
 cout<< "Vvedite kolichestvo strok i stolbtsov"<<endl;
 cin>> M;
 cin>> N;
 
 //Такую запись тоже не принимает. Принала бы func (array [M] [N]), но M и N не
 //инициализированы
 func (array);
 
 return 0;
}
Решил обойтись без индексов. Пробовал заменить определение функции таким
C++
1
2
void func (char** a ) {
}
Но и это не помогло. Те же ошибки. Если вызываешь функцию
C++
1
func (array)
То орёт, что не может перекнвертировать один тип в другой. А если так,
C++
1
func (array [M] [N])
То вынь да положь ей значения M и N. Пробовал и явно преобразовать тип
C++
1
func ((char**)array)
Опять лажа. Прога начинает работать и тут же заканчивается аварийно.
Помогите пожалуйста, друзья!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru