Антон ФАГ
Мудрец
(11274)
6 лет назад
void transpose(double *a, int rows, int cols)
{
for (size_t i = 0; i < rows; i++, putchar('\n'))
for (size_t j = 0; j < cols; j++)
printf("%5g ", a[ rows * i + j ]);
}
int main(int argc, char **argv)
{
double arr[ 3 ][ 3 ] =
{
4, 2, 4,
3, 2, 1,
9, 9, 9
};
transpose(&arr[ 0 ][ 0 ], 3, 3);
return 0;
}
Нужно передать туда массив двухмерный делаю так
int main()
{
float **response;
double ary[3][5] = {
{ 1.1, 2.2, 3.3, 4.4,5.5 },
{ 2.22, 4.44, 6.66, 8.88, 10.10 },
{ 3.333, 6.666, 9.999, 12.1212,15.1515 }
};
transpose(**ary,3,5);
return 0;
}
Выдает ошибку /tmp/matrix/main.cpp|43|error: cannot convert ‘double’ to ‘double**’ for argument ‘1’ to ‘double** transpose(double**, int, int)’|
Подскажите что не так делаю я раньше с двойными указателями не работал...