• Matéria: Informática
  • Autor: biaxinha6375
  • Perguntado 3 anos atrás

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

respondido por: joaopedrolemos
0

#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;

}


joaopedrolemos: Fiz em C, mas se você usar outra linguagem pode, talvez, ter mais facilidade para desenvolver a lógica do programa. Bons Estudos!
Perguntas similares