Fazer um programa para ler 5 valores e, em seguida, mostrar a posição onde se encontram o maior e o menor valor.
Passo 1
A questão pede um programa que leia 5 valores numéricos e indique em quais posições (1 a 5) está o menor e o maior valor. O conteúdo envolve vetor (array), laço de repetição e comparação de elementos.
Passo 2
Definimos um vetor de 5 posições para armazenar os valores e criamos as variáveis
max, min, pos_max e pos_min. A ideia é percorrer o vetor, atualizar max e min conforme encontramos valores maiores ou menores, guardando também suas posições.Passo 3
Usamos um laço
for de índice i de 0 a 4. No primeiro elemento (i == 0), inicializamos max = min = v[0] e pos_max = pos_min = 1. A cada leitura seguinte, comparamos v[i] com max e min: se for maior, atualizamos max e pos_max = i+1; se for menor, atualizamos min e pos_min = i+1.Passo 4
Depois de processar os 5 valores, temos em
pos_min a posição do menor valor e em pos_max a posição do maior valor. Basta então imprimir essas posições.Resposta
#include <stdio.h>
int main() {
int v[5];
int max, min;
int pos_max, pos_min;
int v[5];
int max, min;
int pos_max, pos_min;
for (int i = 0; i < 5; i++) {
scanf("%d", &v[i]);
if (i == 0) {
max = min = v[0];
pos_max = pos_min = 1;
} else {
if (v[i] > max) {
max = v[i];
pos_max = i + 1;
}
if (v[i] < min) {
min = v[i];
pos_min = i + 1;
}
}
}
printf("Menor valor na posicao %d\n", pos_min);
printf("Maior valor na posicao %d\n", pos_max);
return 0;
}