#include <stdlib.h>
void ler_matriz(int *v,int m,int n){
int i,j,k,aux;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
printf("digite a%d%d ",i,j);
scanf("%d",&aux);
k=i*n+j;
v[k]=aux;
}
}
}
void imprimir_matriz(int *v,int m,int n){
int i,j,k;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
k=i*n+j;
printf("%d ",v[k]);
}
printf("\n");
}
}
int *diagonalprincipal(int*v,int m, int n){
int i,j,*vetor,k,p=0;
vetor=(int*)calloc(sizeof(int),n);
for(i=0;i<m;i++){
for(j=0;j<n;j++){
k=i*n+j;
if(i==j){
vetor[p]=v[k];
p++;
}
}
}
return vetor;
}
void imprimir_vetor(int *v,int n){
int i,k;
printf("\na diagonal eh:\n");
for(i=0;i<n;i++){
printf("%d ",v[i]);
}
}
int main(){
int m,n,*v,*k;
printf("digite a qntd de linha\n");
scanf("%d",&m);
printf("digite a qntd de coluna\n");
scanf("%d",&n);
v=(int*)calloc(sizeof(int),m*n);
ler_matriz(v,m,n);
k= diagonalprincipal(v, m,n);
imprimir_matriz(v,m,n);
imprimir_vetor(k, n);
system("pause");
return 0;
}
Coloque aqui o seu email