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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ бинарными деревьями как динамическая структура данных http://www.cyberforum.ru/cpp-beginners/thread208035.html
Суть задачи в следующем. Необходимо реализовать бинарное дерево как динамическую структуру данных. Помимо стандартных функций созджания 1 элемента и распечатки дерева необходимо написать функцию...
C++ Приведение типов Добрый вечер! Реализовываю явное и не явное приведение типов. Есть два класса, сепаративных, A и B. Реализацию явного преобразования делаю перегрузкой типов A и B. Реализацию неявного... http://www.cyberforum.ru/cpp-beginners/thread208034.html
Для матриццы размером n x m вычислить сумму элементов матрицы C++
Условия этой задачи (задача одна), таковы: Для матриццы размером n x m вычислить сумму элементов матрицы. Умножить на это число элементы k-той строки. Значение k вводится. Исходная матрица...
C++ интеграл
помогите пожалуйста написать прогу которая релала бы интеграллы например: \int dv/v=\int dx/xоткуда при решении получаем Ln(v)=Ln(x)
C++ Строки (C++) http://www.cyberforum.ru/cpp-beginners/thread208002.html
вот моё задание: Зменить в строке последовательность одинаковых символов (не пробелов) на десятичное число, соответствующее их количеству, и сам символ. код: #include <math.h> #include...
C++ Дружественные методы в заголовочном и релизационном файле Доброго времени суток. Есть такая проблема: В заголовочном файле lsf.h описываю класс и перегружаю "<<" ">>" для работы с классом. #if !defined(TEST) #define TEST #include<iostream>... подробнее

Показать сообщение отдельно
Кемаль
0 / 0 / 0
Регистрация: 02.11.2010
Сообщений: 38
11.12.2010, 08:52  [ТС]
Цитата Сообщение от Кемаль Посмотреть сообщение
Я дописал таким образом (функцию сложения)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int shape(int** x, int x_str, int x_col, int** y, int y_str, int y_col)
{
    int i;
    int **z = new int* [x_str];
    for (i = 0; i < x_str; i++)
    {
        z[i] = new int [x_col];
    }
    if (x_str == y_str && y_col == x_col) 
    {
        for (int k = 0; k < x_str; k++)
        {
            for (int h= 0; h < x_str; h++)
            {
                for (int j = 0; j < x_col; j++)
                {
                    z[i][j] = x[k][h] + y[k][h];
                }
            }
        }
    }
 return **z;
}
но при использовании её
C++
1
cout <<"The shape is" << shape((int)**a, (int)**b) << endl;
находит ошибку
Ошибка 4 error C2664: shape: невозможно преобразовать параметр 1 из 'int' в 'int **' c:\users\gelious\documents\visual studio 2008\projects\laba9\num3_matrix\matrix.cpp 80 Num3_matrix
Объясните мне пожалуйста, как потом, после объявления функции использовать её с такими массивами. (тобиш, например, функцию сложения массивов использовать в цикле или нет?)

Добавлено через 1 минуту
Цитата Сообщение от dihlofos Посмотреть сообщение
Ну дак, ф-ция должна принимать 6 аргументов, а вы передаёте 2. Нужно что-то типа:
C++
1
shape(a, m, n, b, m, n);
Хотя если матрицы одинакового размера, то можно переделать прототип:
C++
1
void shape(int** x, int** y, int rows, int cols);
Ну и к тому же она возвращает void, что вы хотите напечатать с помощью cout?
А Вы попробуйте передать 6 аргументов. "Функция не принимает 6 аргументов".
Void на int изменить недолго. Я пробовал так устранить ошибки, но как видно ошибок нет, а руки мои не из того места.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru