LauraC Postado Maio 1, 2022 em 16:14 Compartilhar Postado Maio 1, 2022 em 16:14 (editado) "Escreva um programa que leia 20 notas (valores reais entre 0 e 10), armazene-as em um vetor e então diga se uma determinada nota x digitada pelo usuário existe no vetor. O programa deve repetir o procedimento de leitura de x e busca de x no vetor até que o usuário digite um valor negativo". Existe algum erro que não consigo reconhecer quando vai verificar se existe ou nao existe. #include <stdio.h> int main(){ float notas[20],busca; int i = 0; do{ scanf("%f",¬as[i]); if(notas[i]>=0.0 && notas[i]<=10){ i++; }else{ break; } }while(i<20); for(i=0;i<20;i++){ scanf("%f",&busca); if(notas[i] == busca){ printf("existe\n"); }else{ printf("nao existe\n"); } } return 0; } es_t5a.c Editado Maio 1, 2022 em 16:15 por LauraC Citar Link para o comentário Compartilhar em outros sites More sharing options...
mauro_b Postado Maio 1, 2022 em 16:41 Compartilhar Postado Maio 1, 2022 em 16:41 (editado) Está parcialmente conforme os requesitos enunciado. Falhou na parte do problema que busca x enquanto x é maior ou igual 0. Na forma de algoritmo narrativo descritivo Ler x, Enquanto 0<=x Faz: buscar de x em Notas Ler x Editado Maio 1, 2022 em 16:42 por mauro_b 1 Citar Link para o comentário Compartilhar em outros sites More sharing options...
LauraC Postado Maio 1, 2022 em 16:44 Autor Compartilhar Postado Maio 1, 2022 em 16:44 (editado) Eu corrigi essa parte mas quando eu executo em um teste a saida fica assim: (teste com nota de 0 a 10 e depois verifiquei se existe o numero 1) existe nao existe nao existe nao existe nao existe nao existe nao existe nao existe nao existe nao existe existe nao existe nao existe nao existe nao existe nao existe nao existe nao existe nao existe nao existe sendo que deveria aparecer só 1 vez Editado Maio 1, 2022 em 16:45 por LauraC Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pimptech Postado Maio 11, 2022 em 04:22 Compartilhar Postado Maio 11, 2022 em 04:22 @LauraC Existe duas coisas que você pode fazer nesse caso, levando em consideração esse código mais simples. Pelo enunciado tá faltando coisa. Ele pede pra você pedir as notas ao usuário enquanto ele não digitar um número negativo. Nesse caso pode usar o do-while. pra ficar repetindo enquanto o valor digitado é positivo. Faltou no seu código iterar com um loop-for as notas. Você pode utilizar uma variavel de controle nesse caso, um CHAR resolve. Veja se entende o exemplo abaixo, qualquer coisa pode perguntar. float valor; char controle = 'f'; do { scanf(valor); controle = 'f'; for (int i=0; i<20; i++){ if(nota[i]==valor){ printf("existe"); controle = 'v'; break; } } if (controle=='f'){ printf("não existe"); } } while(valor > 0); Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.