Ir ao conteúdo
  • Cadastre-se
LuanaCocielo

C RESOLVIDO Exercício com função em C

Posts recomendados

Oi, preciso de ajuda com esse exercício. Prefiro que não me dêem o código pronto, no máximo parte dele. Só não consigo pensar em como fazer o número de inteiros a ser recebido ser arbitrário, coloco para quando uma letra for digitada ele parar? Faço um vetor? Não tenho ideia. Pensei em perguntar quantos números serão digitados, mas aí tb não lembro como pensar p colocar um contador e tudo. Sei que é algo simples mas eu sou burra, alguém me ajuda por favor

Escreva um programa que recebe um número arbitrário de inteiros e:

• mostra qual foi o maior valor com auxílio da função int numMax(int n1, int n2)

• mostra qual foi o menor valor com auxílio da função int numMin(int n1, int n2)

Exemplo:

Entrada: 1

               -2

                2

                4

Saída: Menor valor: -2

            Maior valor: 4

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui.

Caso alguém se interesse, fiz assim:

#include <stdio.h>

int numMin(int n1, int n2)
{
    int menor;

    if (n1<n2)
        menor = n1;
    else
        menor = n2;

    return menor;
}

int numMax(int n1, int n2)
{
    int maior;

    if (n1>n2)
        maior = n1;
    else
        maior = n2;

    return maior;
}

int main()
{
    int quant, num, ma , me;

    printf("Quantos numeros você deseja digitar? ");
    scanf("%i", &quant);

    int cont = 0;

    printf("Digite o %d numero: ", cont+1);
    scanf("%i", &num);
    me = num;
    ma = num;
    cont++;

    while(cont < quant) {
        printf("Digite o %d numero: ",cont+1);
        scanf("%i", &num);

        me = numMin(me, num);
        ma = numMax(ma, num);

        cont++;
    }

    printf("Maior numero: %i \n", ma);
    printf("Menor numero: %i \n", me);

    return 0;
}

 

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@LuanaCocielo     seu codigo esta bom ,  ficaria melhor ainda se deletar essas primeiras 5 linhas que estão antes do while , elas nao estão tendo nenhuma utilidade no codigo  .

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010 eu tentei isso e o menor número continua aparecendo certo, mas o maior aparece como 97, mesmo eu não tendo digitado isso

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@LuanaCocielo    realmente !  ,  entao para resolver , creio que precise mesmo de mais algumas linhas  ,  por exemplo ali dentro while logo depois do scanf voce verifica o valor de cont e se for zero faca ma igual ao numero pego pelo scanf ou seja , igual ao num , assim essa variavel ma será inicializada com o valor do primeiro numero digitado ,  e la na funcao que verifica qual eh o maior ela terah o valor certo .

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se não for necessário o uso de funções, poderia usar uma abordagem mais simplista:

#include <stdio.h>
#include <stdlib.h>

int main() {
    int quantidade = 0;
    int entrada = 0;
    int maior = 0;
    int menor = 0;

    printf("Quantidade de números: ");
    scanf(" %i", &quantidade);

    for (int i = 0; i < quantidade; ++i) {
        printf("Número [ %i de %i ]: ", (i + 1), quantidade);
        scanf(" %i", &entrada);

        if (i == 0){
            maior = entrada;
            menor = entrada;
        }

        if (entrada > maior) {
            maior = entrada;
        }

        if (entrada < menor) {
            menor = entrada;
        }
    }

    printf("----------------- \n");
    printf("Maior: %3i \n", maior);
    printf("Menor: %3i \n", menor);
    printf("----------------- \n");

    return 0;
}

 

  • Curtir 2

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

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!