Escreva um programa que receba uma lista de números, armazenados em ordem crescente, e dois valores: limite inferior e limite superior. Como saída, imprima a sublista cujos elementos se encontrem no intervalo fechado entre os limites inferior e superior. Por exemplo:
lista inicial: [12,14,15,16,18,20,24,26,28,32,34,38]
limite inferior: 13
limite superior: 26
lista de resultado: [14,15,16,18,20,24,26].
Respostas
#include <stdio.h>
int main(){
int lista [] = {12,14,15,16,18,20,24,26,28,32,34,38};
int tamanho = sizeof(lista)/sizeof(lista[0]);
int maior, indMaior, indMenor, menor;
printf("Limite Inferior: "); scanf("%d",&menor);
printf("Limite Superior: "); scanf("%d",&maior);
for (int i=0; i<tamanho;i++){
if (lista[i]==menor) indMenor = i;
else {
if (lista[i]==menor-1 || lista[i]==menor+1) indMenor=i;
}
if (lista[i]==maior) indMaior = i;
else {
if (lista[i]==maior-1 || lista[i]==maior+1) indMaior=i;
}
}
printf("\n");
for (int i = indMenor; i <= indMaior; i++){
printf("%d\t", lista[i]);
}
return 0;
}