Stack Overflow em Português Asked by user117670 on December 16, 2021
Eu estou tentando terminar um exercício que pede 4 idades e o output fala quantas das idades inseridas são maiores ou igual a 18 mas o contador adiciona sempre um valor superior a 18 no final e não entendo o porquê.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int vetor[3], *pvetor = &vetor[0],i,cont=0;
for(i=0;i<4;i++)
{
printf("Introduza a %d idade: ",i+1);
scanf("%d",&vetor[i]);
}
while(*pvetor != NULL)
{
if(*pvetor >= 18)
cont++;
pvetor++;
}
printf("Das %d idades inseridas, %d sao maiores de idade.",4,cont);
}
Se é para receber 4 idades o array deve ter tamanho 4. Pode fazer a contagem já na entrada. Não precisa de ponteiro. Se sabe que é 4 idades não tem porque parametrizar isto. E isto é C e não C++.
#include <stdio.h>
int main() {
int vetor[4], cont=0;
for (int i = 0; i < 4; i++) {
printf("Introduza a %da. idade: ", i + 1);
scanf("%d", &vetor[i]);
if (vetor[i] >= 18) cont++;
}
printf("Das 4 idades inseridas, %d sao maiores de idade.", cont);
}
Veja funcionando no ideone. E no repl.it. Também coloquei no GitHub para referência futura.
Answered by Maniero on December 16, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP