-1
#include <stdio.h>
#define N 6
int verificaPar (int v[], int n, int qtd, int indice); // protótipo
int main()
{
int vetor[N] = {13, 6, 8, 3, 4, 9}; // vetor igual do exercicio
int resultado ; // ja tentei inicializar como 0 para ver se nao tem lixo e n adiantou
resultado = verificaPar(vetor, N, 0, 0); // verificando o retorno(quantidade)
if(resultado > 0)
{
printf("Quantidade de numeros pares: %d\n", resultado);
}// printando a quantidade
else
{
printf("Nao ha numeros pares\n");
}
return 0;
}
int verificaPar(int v[], int n, int qtd, int indice)
{
if(v[indice]%2 == 0) //verificação pra ver se o numero daquela posicao é par.
{
qtd++;
}
if( v[indice] >= n-1) // verifica se o indice chegou ao final do total de numeros do vetor.(n-1 pq a ultima posicao tem n-1 d indice)
{
verificaPar(v,n,qtd, indice+1);
}
else
{
return qtd; // se sim, devolve a quantidade acumulada de numeros pares.
}
}
I DON’T KNOW WHAT COULD BE WRONG, BUT HE’S NOT TELLING IT RIGHT.
Under this condition: if( v[Indice] >= n-1) should not terminate and return the quantity?
– anonimo
True, I changed the lines. Thank you!
– Ronaldo Pereira