Моя проблема заключается в следующем: я делаю указатель на динамический двумерный массив в куче.Это делается в подфункции «Производство», которая заполняет элементы таблицы (массива) и возвращает указатель массива в main ().Там я хочу дать указатель в качестве параметра для другой функции «PrintTable»;какой кут это стол.Моя проблема заключается в том, что возвращаемый указатель на самом деле является одномерным массивом (c ++), и я не знаю, как обратиться к нему, чтобы получить вторую строку массива .. Позвольте мне попытаться объяснить это вам:
Итак, сначала у меня есть функция, которая возвращает указатель на двумерный массив.
int* Production(int num1, string name1[], int num2, string name2[])
{
int** productionTable=new int*[num1];
for (int i = 0; i < num1; i++)
{
productionTable[i] = new int[num2];
}
for (int i=0;i<num1;i++)
{
cout << "\nGive production " << name1[i]<<endl;
for (int j=0;j<num2;j++)
{
cout << "On " << name2[j] << " : ";
cin >> productionTable[i][j];
}
}
return* productionTable;
}
в main () Я позволил возвращенному указателю указать производную таблицу указателей, чтобы она существовала в main.
int* productionTable=Production(num1, name1[], num2, name2[])
Затем я вызываю функцию printTable (), которая должна вывести двумерный массив в виде таблицы.поэтому я хочу использовать этот указатель в качестве аргумента для другой функции;чтобы отслеживать элементы из этого массива.
PrintTable(num1, name1[], num2, name2[], productionTable);
Эта функция выглядит следующим образом:
void printTable(int num1, string name1[], int num2, string name2[],int* productionTable)
{
cout << left <<setw(10)<< "";
for (int i=0;i<num2;i++)
{
cout << left <<setw(10)<< name2[i];
}
cout<<endl;
for (int i=0;i<num1;i++)
{
cout << setw(10)<<name1[i]<<"";
for (int j=0;j<num2;j++)
{
cout << left <<setw(10)<< productionTable[i+j];
}cout<<endl;
}
}
Моя проблема в том, что я не могу заставить функцию правильно выводить вторую строку.Как мне указать второй параметр массива?Пока я прочитал, я должен указать в таблице [COLindex * COL_size + ROWindex].Я попробовал, но не заставил его напечатать второй ряд.Каким должен быть параметр COL_size?