Dev - C++ - Pasando matrices como parámetros a funciones

 
Vista:

Pasando matrices como parámetros a funciones

Publicado por Programmer (2 intervenciones) el 20/08/2008 11:42:10
Este programa escrito en C++ crea una matriz de 5x5 de números aleatorios y la muestra por pantalla.

Mi duda es si las matrices se pasan como parámetro a las funciones como lo estoy haciendo yo o hay alguna alternativa mejor.

Saludos.

#include <stdio.h>
#include <stdlib.h>

const int Dimension = 5;

void GenerarDatos(int[][Dimension],int);
void MostrarDatos(int[][Dimension],int);

int main()
{
int Tabla[Dimension][Dimension], i;
GenerarDatos(Tabla,Dimension);
MostrarDatos(Tabla,Dimension);
scanf("%i",i);
}

void GenerarDatos(int Matriz[][Dimension],int Dim)
{
srand(12);
for (int i = 0; i != Dim; i++)
for (int j = 0; j != Dim; j++)
Matriz[i][j] = rand();
}

void MostrarDatos(int Matriz[][Dimension],int Dim)
{
for (int i = 0; i != Dim; i++)
{
for (int j = 0; j != Dim; j++)
printf("%i, ",Matriz[i][j]);
printf(". ");
}
}
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

RE:Pasando matrices como parámetros a funciones

Publicado por eduardo (26 intervenciones) el 20/08/2008 17:28:04
Puedes usar Arimética de punteros para acceder a cada elemento del array.

int *array = ( int * ) malloc( filas * columnas * sizeof( int ) );

/* Para colocar enteros aleatorios entre cero y RAND_MAX */
for ( i = 0; i < filas * columnas; i++ )
*( array + i ) = rand();
......

/* Para mostrar los elementos */
for ( i = 0; i < filas * columnas; i++ ) {
if ( i % columnas == 0 )
printf( " " );

printf( "%4d", *( array + i ) )
}

Salu2
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