Dev - C++ - hacer una funcion de matrices de n*m dimensiones

   
Vista:

hacer una funcion de matrices de n*m dimensiones

Publicado por dsgantivac (3 intervenciones) el 25/05/2015 02:21:00
Estoy haciendo una funcion externa que me muestra una matriz de tamaño m*n pero no me deja colocarle un tamaño asi a la matriz de a funcion, solo me deja crearla con constantes pero no me sirve, adjunto el codigo de a funcion, y gracias por su colaboracion.

1
2
3
4
5
6
7
8
9
10
11
int introducir_matriz(int arr[ ][ ],int n, int m)
{
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<"arr ["<<i<<"]["<<j<<"] = ";
            cin>>arr[i][j];
        }
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de vangodp

hacer una funcion de matrices de n*m dimensiones

Publicado por vangodp (287 intervenciones) el 25/05/2015 05:38:55
no puedes hacer eso. al menos debes pasar la cantidad de columnas.
1
2
3
4
5
6
7
8
9
10
#define columans 10
 
int introducir_matriz ( int arr[ ][columnas], int filas ) {
    for ( int i = 0; i < filas; i++ ) {
        for ( int j = 0; j < columnas; j++ ) {
            cout << "arr [" << i << "][" << j << "] = ";
            cin >> arr[i][j];
        }
    }
}
...Por que as veces no sabes cuantas filas necesitas pero si sabes que todas tendrán un numero de columnas fijo.


Otra posibilidad es usando punteros dobles con memoria dinámica.
1
2
3
4
5
6
7
8
int introducir_matriz ( int **arr, int filas, int columnas ) {
    for ( int i = 0; i < filas; i++ ) {
        for ( int j = 0; j < columnas; j++ ) {
            cout << "arr [" << i << "][" << j << "] = ";
            cin >> arr[i][j];
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

hacer una funcion de matrices de n*m dimensiones

Publicado por dsgantivac (3 intervenciones) el 25/05/2015 20:05:43
disculpa pero usando el código no compila, no se si estoy haciendo algo mal, agradezco la ayuda, dejo el codigo completo, lo que deseo es una funcion externa en la que pueda ingresar matrices n*m y otro funcion externa que me las muestre, pero deben ser externas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<iostream>
using namespace std;
 
void introducir_matriz ( int **arr, int filas, int columnas ) {
    for ( int i = 0; i < filas; i++ ) {
        for ( int j = 0; j < columnas; j++ ) {
            cout << "arr [" << i << "][" << j << "] = ";
            cin >> arr[i][j];
        }
    }
}
void mostrar_matriz( int **arr, int filas, int columnas ) {
    for ( int i = 0; i < filas; i++ ) {
        for ( int j = 0; j < columnas; j++ ) {
            cout << "arr [" << i << "][" << j << "] = "<<arr[i][j];
        }
    }
}
int main ()
{
    int n,m;
    cin>>n;
    cin>>m;
    int arr[m][n];
 
    introducir_matriz(arr,n,m);
    mostrar_matriz(arr,n,m);
 
 
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar