Guião laboratorial n.º 0 – exercício 5
“Desenvolva uma função que encontre o segundo maior elemento armazenado num vetor de inteiros. A função recebe como argumentos o nome e a dimensão do vetor. Devolve como resultado o segundo maior valor existente no vetor. Pode assumir que o vetor recebido não contém elementos repetidos.”
#include <stdio.h> #include <stdlib.h> #define TAM 10 int funcao1(int v[TAM], int t){ int maior=v[0],maior2=v[0]; int vector_sem_maior[TAM]; int i; //vou procurar o maior for(i=0; i<t; i++){ if(v[i]>maior) { maior=v[i]; } } //vou preencher um vetor auxilar sem o maior for(i=0; i<t; i++){ if(v[i]!=maior) { vector_sem_maior[i]=v[i]; }else{ vector_sem_maior[i]=0; } } //vou procurar o segundo maior for(i=0; i<t; i++){ if(vector_sem_maior[i]>maior2) { maior2=vector_sem_maior[i]; } } return maior2; } int main() { int vector[TAM]={0,1,20,3,4,5,6,7,8,29}; printf("o segundo maior vem: %d", funcao1(vector, TAM)); return 0; }
0 thoughts on “Guião laboratorial n.º 0 – exercício 5”