
Ayuda con esta tarea de c++ de matriz bidimensional dinamica
Publicado por Karla (2 intervenciones) el 22/02/2015 22:36:53
Necesito ayuda con este programa que me dejaron de tarea, ya logré hacer casi todo menos la funcion para pedir los datos que llenaran la matriz. O si no de que otra forma podría hacer esto?
Escribe un programa que tenga dos funciones:
* Una funcion que genere una matriz dinámica de M renglones por N columnas y que regrese un apuntador a esa
matriz.
*Otra funcion que reciba el apuntador devuelto por la funcion anterior, encargada de leer de la entrada estandar
los valores necesarior para llenar la matriz.
Observaciones:
*Asuma que la matriz es de enteros.
*La funcion main llama a las dos funciones.
#include <stdio.h>
#include <stdlib.h>
void generaMatriz( int **, int *, int * );
void leeDatos( int **, int *, int * );
int main()
{
int **matriz, x, y;
generaMatriz( matriz, &x, &y );
// printf("n: %d, m: %d", x, y);
leeDatos( matriz, &x, &y );
getchar();
return(0);
}
void generaMatriz( int **matriz, int *x, int *y )
{
int i, m, n;
printf("Ingresa numero de filas: ");
scanf("%d", &m); fflush(stdin);
printf("Ingresa numero de filas: ");
scanf("%d", &n); fflush(stdin);
*x=m;
*y=n;
matriz=(int **)malloc(sizeof(int *)*m);
for(i=0; i<n; i++)
{
matriz[i]=(int *)malloc(sizeof(int )*n);
}
return;
}
void leeDatos( int **matriz, int *m, int *n )
{
int i, j;
for(i=0; i<(*m); i++ )
{
for(j=0; j<(n); j++)
{
printf("Ingresa numero en posicion [%d][%d]: ", i, j );
scanf( "%d", matriz)[i][j] ); fflush(stdin);
}
}
return;
}
Escribe un programa que tenga dos funciones:
* Una funcion que genere una matriz dinámica de M renglones por N columnas y que regrese un apuntador a esa
matriz.
*Otra funcion que reciba el apuntador devuelto por la funcion anterior, encargada de leer de la entrada estandar
los valores necesarior para llenar la matriz.
Observaciones:
*Asuma que la matriz es de enteros.
*La funcion main llama a las dos funciones.
#include <stdio.h>
#include <stdlib.h>
void generaMatriz( int **, int *, int * );
void leeDatos( int **, int *, int * );
int main()
{
int **matriz, x, y;
generaMatriz( matriz, &x, &y );
// printf("n: %d, m: %d", x, y);
leeDatos( matriz, &x, &y );
getchar();
return(0);
}
void generaMatriz( int **matriz, int *x, int *y )
{
int i, m, n;
printf("Ingresa numero de filas: ");
scanf("%d", &m); fflush(stdin);
printf("Ingresa numero de filas: ");
scanf("%d", &n); fflush(stdin);
*x=m;
*y=n;
matriz=(int **)malloc(sizeof(int *)*m);
for(i=0; i<n; i++)
{
matriz[i]=(int *)malloc(sizeof(int )*n);
}
return;
}
void leeDatos( int **matriz, int *m, int *n )
{
int i, j;
for(i=0; i<(*m); i++ )
{
for(j=0; j<(n); j++)
{
printf("Ingresa numero en posicion [%d][%d]: ", i, j );
scanf( "%d", matriz)[i][j] ); fflush(stdin);
}
}
return;
}
Valora esta pregunta


0