[ Foro de C ]

calcular la diagonal inferior de una matriz mediante punteros y reserva dinamica de la memoria

04-Aug-2014 22:10
Invitado (chicaprinstom)
1 Respuestas

hola! mi problema es que al meterlo en el compilador el programa no me da errores pero a la hora de ejecutarlo pues no lo ejecuta y no se cual es el error, aqui os dejo el programa:

 
#include<stdio.h>
#include<stdlib.h>
void leemat(int[][10],int,int);
void escmat(int[][10],int,int);
void vector(int[],int);
int *diag(int[][10],int,int);
int main()
{
    int mat[10][10];
    int dim;
    int*vect;
    printf("\n la dimension de la matriz:");
    scanf("%d",&dim);
    leemat(mat,dim,dim);
    escmat(mat,dim,dim);
    vect=diag(mat,dim,dim);
    vector(vect,dim-1);
    free(vect);
}
int*diag(int mat[10][10],int NF,int NC)
{
             int *v;
             int i,j;
             v=(int*)malloc((NF-1)*sizeof(int));
             if(v==NULL)
             {
             printf("\n error en la reserva dinamica");
             exit(0);
             }
             for(i=0;i<NF;i++)
             {
                              for(j=0;j<NC;j++)
                              {
                                               v[i-1]=mat[i][j];
                               }
              }
              return v;
}
 




07-Aug-2014 12:36
Nacho Cabanes (+31)

Ahí faltan cosas... no está la función "escmac", ni "leemat", ni "vector"...






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)