Ir ao conteúdo
  • Cadastre-se

z9000

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

  1. valeu atlos funcionou. Agora só acertar a questão do tempo. Muito Obrigado
  2. Boa tarde, preciso programa que deve solicitar ao usuário o número de elementos que irá trabalhar, até no máximo 500.000. E deverá mostrar na tela a hora de entrada e de saída do laço. Deve gerar o número de elementos escolhido pelo usuário aleatoriamente, dentro do intervalo de 0 a 500.000. E o programa deverá mostrar na tela a hora de entrada e de saída do laço. Calcula a soma de todos os elementos gerados aleatoriamente; Calcula a soma de todos os elementos gerados aleatoriamente e encontrar o maior valor; Calcula a soma de todos os elementos gerados aleatoriamente, encontrar o maior valor e o menor; Eu o fiz dessa maneira #include <stdio.h>#include <stdlib.h>#include <time.h>int main (void){ long unsigned elemento; long unsigned valor=0; int opcao; long unsigned soma = 0; long unsigned maior = 0; long unsigned menor = 500000; long unsigned i; clock_t tempoInicial, tempoFinal; double tempoGasto; srand((unsigned)time(NULL)); printf("\nEntre com um valor no maximo de 500.000: \n"); scanf ("%llu", &elemento); printf("Escolha uma opcao de exibicao: \n1. Soma de todos os elementos. \n2. Soma de todos os elementos e o maior valor. \n3. Soma de todos os valores, maior e menor valor.\n"); scanf ("%d", &opcao); tempoInicial = clock(); //Come?a contar o tempo de compila??o for(i = 1; i<=elemento; i++){ valor = (long unsigned)(rand()% 500000); //printf("%llu \n", valor); /*Printa o valor na que for gerado pelo random */ soma += (long unsigned)valor; printf("Numero Encontrado: %llu \n", valor); if(((long unsigned)valor) < menor){ menor = valor; } if(((long unsigned)valor) > maior){ //printf("Numero Maior Encontrado: %llu \n", maior); maior = valor; } tempoFinal = clock(); //Termina de contar o tempo de compila??o tempoGasto = (((double)(tempoFinal-tempoInicial))/CLOCKS_PER_SEC); //Calcula o tempo gasto } switch (opcao){ case 1: printf("Soma de todos os numeros: %llu\n", soma); printf("\nTempo em segundos: %f\n", tempoGasto); break; case 2: printf("Soma de todos os numeros: %llu\n", soma); printf("Maior valor gerado: %llu\n", maior); printf("\nTempo em segundos: %f\n", tempoGasto); break; case 3: printf("Soma de todos os numeros: %llu\n", soma); printf("Maior valor gerado: %llu\n", maior); printf("Menor valor gerado: %llu\n", menor); printf("\nTempo em segundos: %f\n", tempoGasto); break; default: printf("Codigo invalido.\n"); } system("pause");} só que o maior valor gerado não passa de 32767, alguém saberia me explicar como faço para ele chegar ate o limite dos 500000. Sou novo em C e não consegui achar a solução. Obrigado

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...