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

Передача двумерного массива в функцию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как передать указатель на структуру в функцию http://www.cyberforum.ru/cpp-beginners/thread667524.html
Подскажите как передать указатель *arr на структуру в функцию2, чтобы в ней использовать уже заполненные массивы: void func1() //функия 1 { typedef struct //объявление структуры { float p; double t; } Array;
C++ Лабораторная работа по теме Операторы ветвления. Люди помогите пожалуйста зделать лабу, по теме Операторы ветвления. F= a(x*x)-b; при x-1<0 и b-x!=0 (x+1)!; при x-1>0 и b+x=0 x/c; в остальных случаях http://www.cyberforum.ru/cpp-beginners/thread667522.html
C++ Найти НОД двух целых чисел
Найти НОД двух целых чисел. Помогите пожалуйста)
C++ Определить сумму чисел, которые при деление на n дают в остатке q
С клавиатуры вводятся числа. Окончание ввода – 0. Определить сумму только тех чисел, которые при деление на n дают в остатке q
C++ Использование вектора http://www.cyberforum.ru/cpp-beginners/thread667495.html
Здраствуйте. Написал такую программку: #include<vector.h> #include<iterator.h> #include<conio.h> #include<iostream.h> template <typename T> bool palindrome(const vector &a); int main(){
C++ Как определить количество перестановок и сравнений У меня есть алгоритм Quicksort как определить количество перестановок и сравнений?? #include <iostream> #include <conio.h> #include <time.h> using namespace std; void quickSort(int arr, int left, int right) { int i = left, j = right; int tmp; int pivot = arr; /* partition */ подробнее

Показать сообщение отдельно
dota
3 / 3 / 0
Регистрация: 20.09.2010
Сообщений: 100

Передача двумерного массива в функцию - C++

09.10.2012, 22:05. Просмотров 780. Ответов 4
Метки (Все метки)

Неожиданно для себя столкнулся с такой вот проблемой . Есть две функции :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void print_matrix(double ** A, int n) {
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j) {
            cout << A[i][j] << "\t";
        }
        cout << endl;
    }
}
void print_vector(double * x, int n) {
    for (int i = 0; i < n; ++i) {
        cout << x[i] << endl;
    }
}
Но при вызове работает только вторая функция (первая вызывает ошибку):
C++
1
2
3
4
5
6
7
8
9
10
11
int main() {
    double A[4][4] = {{0.11, -0.17, 0.72, -0.34,}, 
                    {0.81, 0.12, -0.91, 0.17}, 
                    {0.17, -0.18, 1.00, 0.28}, 
                    {0.13, 0.17, -0.99, 0.35}};
    double b[4] = {0.17, 1.00, 0.21, 2.71};
    //print_matrix(A,4);
    print_vector(b,4);
    system("pause");
    return 0;
}
Печатать матрицу программа не хочет , выдает ошибку о том , что не может перевести переменную к типу double ** . Довольно странно , учитывая то , что с одномерным массивом проблем нет . Что делать ? (изменять сигнатуру функции я не хочу ,ибо так она записана в более общем виде) .
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru