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 :)