Logo Hardware.com.br
EXCEED
EXCEED Membro Senior Registrado
388 Mensagens 4 Curtidas

Ñ consigo resolver esse exercicio em 'C'...

#1 Por EXCEED 24/10/2005 - 21:40
Nesse código:

#include <stdio.h>
int main ()
{
int num [100]; /* Declara um vetor de inteiros de 100 posicoes */
int count = 0;
int totalnuns;
do
{
printf ("Entre com um numero (-999 p/ terminar): &quot;
scanf ("%d", &num [count]);
count++;
}
while (num[count -1] != -999);
totalnuns = count -1;
printf ("\n\n\tOs numeros que voce digitou foram:\n&quot;
for (count = 0; count < totalnuns; count++)
printf ("%d\n", num [count]);
system("PAUSE&quot;
return (0);
}


Tem que fazer isso:
Reescreva o exemplo acima, realizando a cada leitura um teste para ver se a dimensão do vetor não foi ultrapassada. Caso o usuário entre com 100 números o programa deverá abortar o loop de leitura automaticamente. O uso so Flag (-999) não devera ser retirado.
peczenyj
peczenyj Geek Registrado
3K Mensagens 75 Curtidas
#2 Por peczenyj
24/10/2005 - 23:16
Ta, esse exercício é o seguinte: vc tem um vetor de 100 posições, certo ? então vc pode informar num[0], num[1], ... num[99]
se tentar colocar num[100] vai dar um baita erro !

Bom, então o que fazer ? Analise o seu laço!

count=0;
faça {

escreve na tela mensagem "Entre com um numero (-999 p/ terminar): ";
lê um inteiro e coloca em num[count];
adiciona um no valor de count

} enquanto o valor digitado (num[count -1]) for diferente de -999

Tcharam, vc tem que colocar uma condição a mais, se count for == 100, aborta sem dó nem piedade !!!!

Por que ? analisa : quando count tem 99, vc vai ler um numero, vc leu 1, por exemplo. coloca em num[99] e soma um em count, logo o proximo valor seria num[100] e isso é muito, mas muito ruim !

como colocar esta condição a mais no seu while ? use operações booleanas. vc quer que o valor lido seja diferente de -999, ao mesmo tempo count deve ser diferente de 100. isto é satisfeito pela função AND !

Uma Coisa AND Outra Coisa só é verdade se elas são AMBAS verdade, o resto fica falso. Em C, vc chama AND assim: condição1 && condição2

Não sei se vc estudou isto ainda, vc só tem que adicionar um while (num[count -1] != -999 && count != 100);

Continua se esforçando e estude muito, C é xarope mesmo, mas depois vc vai ficar rico com essa linguagem :wink:
© 1999-2025 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal