VictorGustavo Posted August 29, 2014 Report Share Posted August 29, 2014 #include<stdio.h> int main(){ int menor=999999,voltas,tempo,soma=0,i,contador=0; scanf("%i ",&voltas); for(i=0; i < voltas ;i++){ scanf("%i",&tempo); soma += tempo; if(tempo < menor){ // menor = tempo; // Se tempo < tempo será armazenado na variável menor contador++; } } printf("\nO tempo da melhor volta:%i \nA volta em que o melhor tempo ocorreu:%i \nO tempo medio das N voltas:%i",menor,contador,soma/voltas); return 0; } Estou com um pequeno problema, ao armazenar a menor volta. Visto que tenho que declamar a variável menor = 999999, alguém sabe outra saída para resolver esse problema? Link to comment Share on other sites More sharing options...
nelsonr Posted August 29, 2014 Report Share Posted August 29, 2014 Boas, não vejo problema em teres definido o menor com esse valor. Poderá haver outras formas, mas essa não está assim tão mal (dependendo do tempo normal das voltas). No entanto não vejo a razão de incrementares a variavel contador quando o tempo é inferior ao menor guardado. Qual a utilizade? Não queres antes ter a variavel com o nome de menor_volta e atribuires ao i nesse bloco? Assim ficas com o numero da volta de onde vem o menor tempo 1 Report Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted August 29, 2014 Report Share Posted August 29, 2014 #include<stdio.h> // macro para limpar o buffer de leitura #define CLEAR_INPUT while (getchar() != '\n') int main() { // cariaveis usadas na função (c89 compilant) int voltas = 0, i = 0, tempo = 0 soma = 0, menor_tempo = 0, menor_volta = 0; // pedir o numero de voltas a contabilizar printf("Numero de voltas : "); fflush(stdout); if (scanf("%i", &voltas) != 1) { printf("Valor invalido de voltas ...\n"); exit(-1); } CLEAR_INPUT; // verificar se existiram voltas a contabilizar if (voltas > 0) { do { // pedir o tempo da volta iterada printf("Tempo da volta %d : ", (i + 1)); fflush(stdout); if (scanf("%i", &tempo) != 1) printf("Valor invalido para o tempo da volta %d ...\n", i); exit(-1); } // somar o tempo para o calculo da media soma += tempo; // verificar se ainda não foi guardado o menor tempo ou se esse tempo // guardado é maior que o contabilizado na iteração if (i == 0 || menor_tempo > tempo) { menor_tempo = tempo; menor_volta = volta; } // incremento da iteração ++i; } while (i != voltas); // apresentar os resultados printf("\n"); printf("O tempo da melhor volta: %i\n", menor_tempo); printf("A volta em que o melhor tempo ocorreu: %i\n", menor_volta); printf("O tempo medio das %i voltas: %i", voltas, soma / voltas); } else printf("Nao foi efectuadas nenhuma volta\n"); return 0; } 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
VictorGustavo Posted August 30, 2014 Author Report Share Posted August 30, 2014 Deu certo , valeu a ajuda pessoal ! 😉 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now