Ir ao conteúdo
  • Cadastre-se
Visitante

Exercício - Menores números

Recommended Posts

Visitante

 

Boa noite pessoal!

 

Tô com uma dúvida em uma questão que é aparentemente simples mas já tô há horas com ela :/

O enunciado dela é esse que segue na imagem, mas resumindo é pra calcular os n menores números de um conjunto de números fornecidos pelo "usuário". A questão pede 2 valores de entrada o qual o primeiro será a quantidade de números que o "usuário" vai digitar e o segundo número é a quantidade de números na saída(Os menores números do conjunto). 

Por exemplo:

Entrada

5 3         // 5: 5 números de entrada (12345); 3: 3 numeros na saida (123)

12345

Saida

123

 

Quando coloco o meu código pra rodar, só mostra o menor de todos e não os n menores. 

- Agradeço desde já qualquer ajuda :D

 

post-719593-0-48393900-1398039197_thumb.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  •    0
    Visitante

    
    

    #include <stdio.h>

    #include <iostream>

    #include <string>

    int main()

    {

        char str[20];

        int num[20], n=0, i;

        int a, b,c,c2=0;

        int res[20];

        bool variavel=true;

        scanf("%d %d", &a, &;

        getchar();

        gets (str);

        while (str[n] != '\0') {

            num[n] = str[n] - '0';

            n++;

        }

        for(c=0; c<a; c++){

            for(c2=c+1; c2<a; c2++){

                if (num[c]>num[c2]){

                    variavel= false;

                    break;

                }

            }

            if(variavel){

                res[c]= num[c];

                //teste printf("*****%d*****", num[c]);

            }

            variavel=true;

        }

     /* teste

        for (i=0; i<n; i++){

            printf("\t%d", num);

            printf("\n");

        }

    */

         for (i=0; i<n; i++){

            printf("\t%d", res);

         }

    return 0;

    }

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Visitante

    @

     

    Acho que o seu maior problema, seria como encontrar os N menores números de um conjunto de números.

     

    []...

     

    Uma das alternativas seria, ordenar o conjunto em ordem crescente... exemplo...

    num[5] = {2,4,5,1,3}

    Você quer saber os três menores números.

    Um simples bubble sort resolveria...

    num[5] = {1,2,3,4,5} //vetor ordenado em ordem crescente.

    Depois é só imprimir os n primeiros números do vetor num.

    ...n = 3;for (i=0; i<n; i++){     printf("%d", num[i]);	   }

    Resultado: 123

     

    []...

     

     

    Entretanto, o seu exercício pede para você encontrar os N menores números do conjunto e imprimir o resto.

     

    ex:

     

    CK0pev2.png

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Criar uma conta

    Crie uma nova conta em nossa comunidade. É fácil!

    Crie uma nova conta

    Entrar

    Já tem uma conta? Faça o login.

    Entrar agora





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×