Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite galera,tenho que fazer uma função recursiva que leia e depois escreva todos os elementos de uma matriz.O dev c++ acusa erro nas chamadas da função : **[Error] invalid conversion from 'int' to 'int (*)[5]' [-fpermissive]. **
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int num,cont=0,i,pos=0,med,j;
int m[5][5];
int main(){
int matriz(int mat[5][5]);
for(i=0;i<10;i++){
for(j=0;j<10;j++){
scanf("%i",&m[i][j]);
}
}
i=0;
j=0;
matriz(m[5][5]);
printf("%i\n",matriz(m[5][5]));
system("pause");
}
int matriz(int mat[5][5]){
if(i==0){
if(j==5){
j=0;
i++;
}
printf("%i",m[i][j]);
j++;
matriz(m[5][5]);
}
else if(i>0){
if(j==5){
j=0;
i++;
}
printf("%i",m[i][j]);
j++;
matriz(m[5][5]);
}
}
Não sei onde estou errando =(Agradeço desde já.
Não se declara protótipo de função dentro main.
mat[5][5] "não existe" (os índices vão de 0 a n-1).
Seu for está escrevendo além dos limites alocados p/ a matriz.
Pense nos tipos: mat[5][5] num protótipo de função é um int(*)[5], mas quando vc usa mat[5][5] como argumento de uma função vc está passando um int (é o que a mensagem diz).