Ir para conteúdo
Fórum Script Brasil
  • 0

Maior e menor número entre os 10


Lucas Soares de Moraes

Pergunta

Escreva um programa que leia dez valores do teclado (usando a mesma variável) e imprima as posições do maior e do menor na sequência.

ex: 2, 20, 1, 3, 6, 15, 12, 18, 8, 7.

     O 2o elemento é o maior.

     O 3o elemento é o menor.

 

Não estou conseguindo colocar a posição de cada número. No meu programa aparece "20" e "1" em vez de "O 2o elemento é o maior." e "O 3o elemento é o menor.". Algum cidadão de bem poderia concluir esse código? Obrigado.

Obs: acho que tem que fazer como vetor, mas quando eu fiz as posições saíram incorretas.

 

#include <stdio.h>
#include <stdlib.h>
 
int main(){
    
    int num, maior = 0, menor = 0, y = 0;
    
    printf("Digite um numero:");
    scanf("%d", &num);
    
    menor = num;
    maior = num;
 
        for(y = 1; y < 10; y++){
            printf("Digite um numero:");
            scanf("%d", &num);
    if(num > maior) maior = num;
    if(num < menor) menor = num;
   }

    printf ("%d\n", maior);
    printf ("%d", menor);
    
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Talvez com uma dica termine. Deve guarda, também, o valor da posição, ou seja, o valor na variável de controle [y] do loop for cada vez que atualizar o menor e maior. No final, imprima os valores dessas variáveis, e não do maior e menor.

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

int
main(void) {

  int num, maior= 0, menor= 0, y= 0;

  printf("Digite um numero:");
  scanf("%d", &num);

  menor= num;
  maior= num;
  int ymenor= 1, ymaior= 1;

	//#Complete com ymenor e ymaior
  for (y= 2;    y <= 10;    ++y) {
    printf("Digite um numero: ");
    scanf("%d", &num);
    if (num > maior) maior = num;
    if (num < menor) menor = num;
  }

  printf("O %do elemento é o maior.\n", ymaior);
  printf("O %do elemento é o menor.\n", ymenor);

  return 0;
}

Compreendeu.

Editado por britivaldo
Link para o comentário
Compartilhar em outros sites

  • 0

@britivaldo eu fiz dessa forma aqui:

 

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

int main(){
    
    int i, maior=0, menor=0, x, y, num[10];

    for (i = 1; i < 10; i++){
      scanf("%d", &num[i]);
      if(i == 0){
          maior = num[i];
          menor = num[i];
      }
      if(num[i] > maior){
        maior = num[i];
        x =i;
      }
      else{
        if(num[i] < menor){
            menor = num[i];
            y = i;
        }
      }
    }
    printf("O %do elemento é o maior.\n", x);
    printf("O %do elemento é o menor.", y);

    return 0;
}

Mas não são com todos os exemplos que dá certo... Pode me dizer o que tem de errado?

Link para o comentário
Compartilhar em outros sites

  • 0

Acredito que o vetor não é recomendado e a sua primeira versão é a resposta mais correta. Como sugeri, vou completar o código da primeira versão.

Code in C

/******************************************************************************

Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl,
C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.

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

int
main(void) {

  int num, maior= 0, menor= 0, y= 0;

  printf("Digite um numero:");
  scanf("%d", &num);

  menor= num;
  maior= num;
  int ymenor= 1, ymaior= 1;

	//#Complete com ymenor e ymaior
  for (y= 2;    y <= 10;    ++y) {
    printf("\rDigite um numero: ");
    scanf("%d", &num);
    
    if (num > maior) maior= num, ymaior= y;
    if (num < menor) menor= num, ymenor= y;
  }
  
  printf("\n");
  printf("O %do elemento é o maior.\n", ymaior);
  printf("O %do elemento é o menor.\n", ymenor);

  return 0;
}

 

Entrada

2 20 1 3 6 15 12 18 8 7

 

Saída

image.png.60d6819132c3da992e0afc32bfa46872.png

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...