Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int main() {
- int tamanho;
- printf("diga o tamanho do vetor: ");
- scanf("%d", &tamanho);
- int sequencia[tamanho];
- printf("digite os elementos do vetor:\n");
- for (int loop= 0; loop < tamanho; loop++) {
- scanf("%d", &sequencia[loop]);
- }
- int inicio = 0; // começo da maior sequencia
- int fim = 0; // fim da maior sequencia
- int maiorcompri = 0; // tamanho da maior sequencia
- int inicioaux = 0; // iteração do começo da sequencia atual
- int fimaux = 0; // iteração do fim da sequencia atual
- int comprimento = 0; // tamanho da sequencia atual
- int loop = 1; // pra comparar o segundo elemento com o primento, e assim em diante
- while (loop < tamanho) {
- if (sequencia[loop] < sequencia[loop- 1]) {
- fimaux = loop;
- comprimento = fimaux - inicioaux + 1;
- } else {
- // checa se a sequencia atual é maior que a maior já vista
- if (comprimento > maiorcompri) {
- inicio = inicioaux;
- fim = fimaux;
- maiorcompri = comprimento;
- }
- // reseta a sequencia atual
- inicioaux = loop;
- fimaux = loop;
- comprimento = 0;
- }
- loop++;
- }
- // check final da maior sequencia
- if (comprimento > maiorcompri) {
- inicio = inicioaux;
- fim = fimaux;
- maiorcompri = comprimento;
- }
- int aux;
- // print da maior
- printf("maior sequencia decrescente: ");
- for (int j = inicio; j <= fim; j++) {
- printf("%d ", sequencia[j]);
- aux = j;
- }
- printf("\n%d", sequencia[aux]);
- return 0;
- }
Add Comment
Please, Sign In to add comment