Ir ao conteúdo
  • Cadastre-se

z9000

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

posts postados por z9000

  1. 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!