Matrices Dinámicas

Anuncio
Matrices Dinámicas
Rafael Palacios 2005
Matrices dinámicas
/* Programa asignar una matriz dinámica */
#include <stdio.h>
int main(void)
{
int f; /* número de filas */
int c; /* número de columnas */
double **mat; /* puntero de puntero */
int i; /* contador */
/* obtengo f y c */
f=3;
c=7;
/* Asigno memoria (falta el control de errores)*/
mat=(double **)calloc(f,sizeof(double *));
for(i=0; i<f; i++)
{
mat[i]=(double *)calloc(c,sizeof(double));
}
<...sigue...>
Matrices dinámicas
/* Programa asignar una matriz dinámica */
#include <stdio.h>
int main(void)
{
int f; /* número de filas */
int c; /* número de columnas */
double **mat; /* puntero de puntero */
int i; /* contador */
/* obtengo f y c */
f=3;
c=7;
/* Asigno memoria (falta el control de errores)*/
mat=(double **)calloc(f,sizeof(double *));
for(i=0; i<f; i++)
{
mat[i]=(double *)calloc(c,sizeof(double));
}
<...sigue...>
f
???
c
???
mat
???
i
???
Matrices dinámicas
/* Programa asignar una matriz dinámica */
#include <stdio.h>
int main(void)
{
int f; /* número de filas */
int c; /* número de columnas */
double **mat; /* puntero de puntero */
int i; /* contador */
/* obtengo f y c */
f=3;
c=7;
/* Asigno memoria (falta el control de errores)*/
mat=(double **)calloc(f,sizeof(double *));
for(i=0; i<f; i++)
{
mat[i]=(double *)calloc(c,sizeof(double));
}
<...sigue...>
f
c
mat
i
3
???
???
???
Matrices dinámicas
/* Programa asignar una matriz dinámica */
#include <stdio.h>
int main(void)
{
int f; /* número de filas */
int c; /* número de columnas */
double **mat; /* puntero de puntero */
int i; /* contador */
/* obtengo f y c */
f=3;
c=7;
/* Asigno memoria (falta el control de errores)*/
mat=(double **)calloc(f,sizeof(double *));
for(i=0; i<f; i++)
{
mat[i]=(double *)calloc(c,sizeof(double));
}
<...sigue...>
f
c
mat
i
3
7
???
???
Matrices dinámicas
/* Programa asignar una matriz dinámica */
#include <stdio.h>
int main(void)
{
3
f
7
c
mat 26F3
i
???
int f; /* número de filas */
int c; /* número de columnas */
double **mat; /* puntero de puntero */
int i; /* contador */
/* obtengo f y c */
26F3
f=3;
c=7;
/* Asigno memoria (falta el control de errores)*/
mat=(double **)calloc(f,sizeof(double *));
for(i=0; i<f; i++)
{
mat[i]=(double *)calloc(c,sizeof(double));
}
<...sigue...>
?
?
?
Matrices dinámicas
/* Programa asignar una matriz dinámica */
#include <stdio.h>
int main(void)
{
3
f
7
c
mat 26F3
i
0
int f; /* número de filas */
int c; /* número de columnas */
double **mat; /* puntero de puntero */
int i; /* contador */
/* obtengo f y c */
26F3
f=3;
c=7;
/* Asigno memoria (falta el control de errores)*/
mat=(double **)calloc(f,sizeof(double *));
for(i=0; i<f; i++)
{
mat[i]=(double *)calloc(c,sizeof(double));
}
<...sigue...>
?
?
?
Matrices dinámicas
/* Programa asignar una matriz dinámica */
#include <stdio.h>
int main(void)
{
3
f
7
c
mat 26F3
i
0
int f; /* número de filas */
int c; /* número de columnas */
double **mat; /* puntero de puntero */
int i; /* contador */
/* obtengo f y c */
26F3
f=3;
c=7;
/* Asigno memoria (falta el control de errores)*/
mat=(double **)calloc(f,sizeof(double *));
for(i=0; i<f; i++)
{
mat[i]=(double *)calloc(c,sizeof(double));
}
<...sigue...>
3A64
?
?
3A54
Matrices dinámicas
/* Programa asignar una matriz dinámica */
#include <stdio.h>
int main(void)
{
3
f
7
c
mat 26F3
i
1
int f; /* número de filas */
int c; /* número de columnas */
double **mat; /* puntero de puntero */
int i; /* contador */
/* obtengo f y c */
26F3
f=3;
c=7;
/* Asigno memoria (falta el control de errores)*/
mat=(double **)calloc(f,sizeof(double *));
for(i=0; i<f; i++)
{
mat[i]=(double *)calloc(c,sizeof(double));
}
<...sigue...>
3A64
?
?
3A54
Matrices dinámicas
/* Programa asignar una matriz dinámica */
#include <stdio.h>
int main(void)
{
3
f
7
c
mat 26F3
i
1
int f; /* número de filas */
int c; /* número de columnas */
double **mat; /* puntero de puntero */
int i; /* contador */
/* obtengo f y c */
26F3
f=3;
c=7;
3A64
3B91
?
3A54
/* Asigno memoria (falta el control de errores)*/
mat=(double **)calloc(f,sizeof(double *));
for(i=0; i<f; i++)
{
mat[i]=(double *)calloc(c,sizeof(double));
}
<...sigue...>
3B91
Matrices dinámicas
/* Programa asignar una matriz dinámica */
#include <stdio.h>
int main(void)
{
3
f
7
c
mat 26F3
i
2
int f; /* número de filas */
int c; /* número de columnas */
double **mat; /* puntero de puntero */
int i; /* contador */
/* obtengo f y c */
26F3
f=3;
c=7;
3A64
3B91
?
3A54
/* Asigno memoria (falta el control de errores)*/
mat=(double **)calloc(f,sizeof(double *));
for(i=0; i<f; i++)
{
mat[i]=(double *)calloc(c,sizeof(double));
}
<...sigue...>
3B91
Matrices dinámicas
/* Programa asignar una matriz dinámica */
#include <stdio.h>
int main(void)
{
3
f
7
c
mat 26F3
i
2
int f; /* número de filas */
int c; /* número de columnas */
double **mat; /* puntero de puntero */
int i; /* contador */
/* obtengo f y c */
26F3
f=3;
c=7;
3A64
3B91
3C68
3A54
/* Asigno memoria (falta el control de errores)*/
mat=(double **)calloc(f,sizeof(double *));
for(i=0; i<f; i++)
{
mat[i]=(double *)calloc(c,sizeof(double));
}
<...sigue...>
3B91
3C68
Utilización
3
f
7
c
mat 26F3
i
2
mat[2][5]=34.56;
26F3
3A64
3B91
3C68
3A54
3B91
3C68
Utilización
3
f
7
c
mat 26F3
i
2
mat[2][5]=34.56;
26F3
double **
26F3
3A64
3B91
3C68
3A54
3B91
3C68
Utilización
3
f
7
c
mat 26F3
i
2
mat[2][5]=34.56;
26F3
double **
26F3
3C68
double *
3A64
3B91
3C68
3A54
3B91
3C68
Utilización
3
f
7
c
mat 26F3
i
2
mat[2][5]=34.56;
26F3
double **
26F3
3C68
double *
double
3A64
3B91
3C68
3A54
3B91
3C68
34.56
Liberar Memoria
for(i=0; i<f; i++)
{
free( mat[i] );
}
free(mat);
3
f
7
c
mat 26F3
i
0
26F3
3A64
3B91
3C68
3A54
3B91
3C68
Liberar Memoria
for(i=0; i<f; i++)
{
free( mat[i] );
}
free(mat);
3A64
3
f
7
c
mat 26F3
i
0
26F3
3A64
3B91
3C68
3A54
3B91
3C68
Liberar Memoria
for(i=0; i<f; i++)
{
free( mat[i] );
}
free(mat);
3A64
3
f
7
c
mat 26F3
i
0
26F3
3A64
3B91
3C68
3A54
3B91
3C68
Liberar Memoria
for(i=0; i<f; i++)
{
free( mat[i] );
}
free(mat);
3B91
3
f
7
c
mat 26F3
i
1
26F3
3A64
3B91
3C68
3B91
3C68
Liberar Memoria
for(i=0; i<f; i++)
{
free( mat[i] );
}
free(mat);
3B91
3
f
7
c
mat 26F3
i
1
26F3
3A64
3B91
3C68
3B91
3C68
Liberar Memoria
for(i=0; i<f; i++)
{
free( mat[i] );
}
free(mat);
3C68
3
f
7
c
mat 26F3
i
2
26F3
3A64
3B91
3C68
3C68
Liberar Memoria
for(i=0; i<f; i++)
{
free( mat[i] );
}
free(mat);
3C68
3
f
7
c
mat 26F3
i
2
26F3
3A64
3B91
3C68
3C68
Liberar Memoria
for(i=0; i<f; i++)
{
free( mat[i] );
}
free(mat);
3
f
7
c
mat 26F3
i
2
26F3
26F3
3A64
3B91
3C68
Liberar Memoria
for(i=0; i<f; i++)
{
free( mat[i] );
}
free(mat);
3
f
7
c
mat 26F3
i
2
26F3
26F3
3A64
3B91
3C68
Descargar