Código C++:
Ver original#include<iostream>
#include<stdio.h>
#include <stdlib.h>
using namespace std;
void muestra_matriz (int matriz[][10], int n)
{
for (int j=0; j<n; j++)
{
for (int i=0; i<n; i++)
cout<<matriz[i][j]<<'\t';
cout <<endl;
}
}
int main()
{
int n;
do {cout <<"Indique el orden de la matriz cuadrada (maximo 10): ";
cin>>n;}while (n>10 || n<1);
int matriz [n][n];
cout <<"Introduzca los "<<n*n<<" valores de la matriz: ";
for (int j=0; j<n; j++) //almacena los valores introducidos
for (int i=0; i<n; i++)
cin>>matriz[i][j];
muestra_matriz(matriz, n);
for (int j=0; j<n; j++)
cout <<"La matriz traspuesta es: "<<endl;
for (int j=0; j<n; j++) //muestra la matriz traspuesta
{
for (int i=0; i<n; i++)
cout<<matriz[i][j]<<'\t';
cout <<endl;
}
return EXIT_SUCCESS;
}
No me deja compilar y me da el siguiente error:
30 cannot convert `int (*)[((unsigned int)((int)n))]' to `int (*)[10]' for argument `1' to `void muestra_matriz(int (*)[10], int)'
no entiendo qué quiere decir, está todo en int...
Gracias por vuestros comentarios :)