c++ функции

Антон

Интересующийся
📜
Сообщения
129
Реакции
12
Привет работяги, продолжаю изучать с++, дошел до функций. Т.к. я студент и мне будет полезно на матане юзать свою же программу, которая будет умножать матрицы, решил её реализовать, но столкнулся с проблемой.
#include <iostream>
#include <ctime>

using namespace std;

const int strk = 6;
const int stlb = 5;

void InputMatrix(int matrix[][stlb], int strk, int stlb)
{
srand(time(NULL));
for (int i = 0; i < strk; i++)
for (int j = 0; j < stlb; j++)
matrix[j] = rand() % 10;
}

void OutPutMatrix(int matrix[][stlb], int strk, int stlb)
{
for (int i = 0; i < strk; i++)
{
for (int j = 0; j < stlb; j++)
{
cout << matrix[j] << " ";
}
cout << endl;
}
}

int[][stlb] MyltiMatrix(int matrix[][stlb], int matrix2[][strk], const int strk, const int stlb)
{
int Result[strk][strk];
for



return Result;
}

int main()
{
int arr[strk][stlb];
int arr2[strk][stlb];
int ResultMatrix[strk][strk];

InputMatrix(arr, strk, stlb);
OutPutMatrix(arr, strk, stlb);

InputMatrix(arr2, strk, stlb);
OutPutMatrix(arr2, strk, stlb);

ResultMatrix = MyltiMatrix(arr, arr2, strk, stlb);
OutPutMatrix(ResultMatrix, strk, strk);
}

В строчке "int[][stlb] MyltiMatrix(int matrix[][stlb], int matrix2[][strk], const int strk, const int stlb)" C++ жалуется на отсутствие идентификатора в первой скобке [] . Как с этим бороться?
Если просто вставить константу ничего не изменится.
 

k880TR

Интересующийся
📜
Сообщения
95
Реакции
14
На сколько я помню в методах нужно передавать не массив(матрицу) а указатель на массив. Делая с ним манипуляции мы и возвращаем из функции тот же указатель:
C++:
int** MyltiMatrix(int** matrix, int** matrix2, const int strk, const int stlb){
       //TODO
      return matrix;
}
 

Антон

Интересующийся
📜
Сообщения
129
Реакции
12
К сожалению я пока указатели не учил, поэтому пытаюсь хоть как то без этого выехать), но если без этого не возможно. то видимо отложить программу до лучших времен:)
 

k880TR

Интересующийся
📜
Сообщения
95
Реакции
14
В плюсах не возможно просто передать массив в метод, только указатель. Ну и на сколько я знаю по программе указатели учат раньше методов.
 

oxy

Знаток
🏆
📜
Сообщения
502
Реакции
152
В плюсах не возможно просто передать массив в метод, только указатель. Ну и на сколько я знаю по программе указатели учат раньше методов.
а нельзя что то типа как в джаве?


Java:
public void myMethod(Map array){
    Map localArray = new HashMap(array);
}
 

Антон

Интересующийся
📜
Сообщения
129
Реакции
12
Окей, придется все же указатели почитать, спасибо
 
Внимание! Эта тема устарела на 716 дней.
Тут обсуждать нечего, лучше создай новую тему. Конечно, если очень-очень нужно (например хочешь ответить на древний вопрос), то отвечай. Но помни: некропост — зло, а модератор не дремлет!
Сверху