Função que recebe 20 números inteiros e retorna o 6° maior elemento do vetor.

1. Função que recebe 20 números inteiros e retorna o 6° maior elemento do vetor.

Yolanda
badRGT

(usa Outra)

Enviado em 27/11/2024 - 05:21h

Olá, Sou um estante de engenharia do 1° período, e em resumo semana passada fiz uma prova q não consegui resolver uma das questões. Estou refazendo ela para aprender o que tive dificuldade. Na prova em si eu simplesmente ordenei o vetor e imprimi a 6° posição, mas essa solução não é valida uma vez que não posso alterar o vetor recebido como parâmetro e pode haver elementos repetidos.
Vou enviar o novo código que estou fazendo, se puderem, por favor me expliquem como fazer ou mesmo criando uma função que realize a tarefa para que eu entenda como funciona.


/*

int sexto_maior:
1°- Recebe um vetor como parametro de 20 números inteiros
2°- Ñ modificar vetor recebido e pode háver n° repetidos
3°- Retornar Sexto maior

*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>


#define TAM 20

void aleatorio()//OK
{
srand(time(0));
}

void preencher(int vetor[])//OK
{
int i;

aleatorio();
//prenchimento
/*mensagem para teste*/printf("Vetor:");
for(i=0;i<TAM;i++)
{
vetor[i]=(1+rand()%20);
/*mensagem para teste*/printf("%d ",vetor[i]);
}
/*mensagem para teste*/putchar('\n');
}

int sexto_maior(int vetor[])
{

}

int main()
{
int vetor[TAM];
preencher(vetor);
return 0;
}



  


2. Re: Função que recebe 20 números inteiros e retorna o 6° maior elemento do vetor.

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 27/11/2024 - 07:27h

Tem como colocar aqui o enunciado da questão?
Tenho ideia de como fazer, porém, preciso ver o enunciado antes pra ver se bate com meu pensamento.



3. Re: Função que recebe 20 números inteiros e retorna o 6° maior elemento do vetor.

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 27/11/2024 - 07:31h

Aproveitando o embalo:
Meu pensamento é que vc deve ordenar e somente depois contar os números e imprimir o sexto.
Exemplo:
Pegar o quarto maior número
vetor = {3,6,1,2,3}
ordenado = {1,2,3,3,6}
Quarto maior número é o 6 e não vetor[3]
Ou seja, vc precisa de outro vetor para guardar os numeros diferentes lidos e somenete imprimir o sexto numero do vetor de numeros diferentes e não do vetor de entrada.



4. Re: Função que recebe 20 números inteiros e retorna o 6° maior elemento do vetor.

César
dark777

(usa Debian)

Enviado em 04/12/2024 - 01:05h


a estrutura de dados "bulble sort" não dá certo?

wiki.anon


5. Re: Função que recebe 20 números inteiros e retorna o 6° maior elemento do vetor.

Paulo
paulo1205

(usa Ubuntu)

Enviado em 25/12/2024 - 20:48h

dark777 escreveu:

a estrutura de dados "bulble sort" não dá certo?


Bubble Sort não é propriamente uma estrutura de dados, mas sim um algoritmo.

Penso que poderia ser usado para resolver o problema do OP, sim, porque, apesar de, em média, o Bubble Sort não ser um algoritmo de ordenação rápido, o fato de serem apenas 20 elementos a serem ordenados provavelmente não vai deixá-lo tão custoso quanto seria no caso de 20 mil ou 20 milhões de elementos.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)


6. Re: Função que recebe 20 números inteiros e retorna o 6° maior elemento do vetor.

Paulo
paulo1205

(usa Ubuntu)

Enviado em 25/12/2024 - 20:52h

SamL escreveu:

Aproveitando o embalo:
Meu pensamento é que vc deve ordenar e somente depois contar os números e imprimir o sexto.
Exemplo:
Pegar o quarto maior número
vetor = {3,6,1,2,3}
ordenado = {1,2,3,3,6}
Quarto maior número é o 6 e não vetor[3]
Ou seja, vc precisa de outro vetor para guardar os numeros diferentes lidos e somenete imprimir o sexto numero do vetor de numeros diferentes e não do vetor de entrada.


Pelo que ele falou, eu não percebi que elementos repetidos tenham de ser necessariamente desconsiderados. Ficou vago. Se os vinte elementos forem todos iguais, o programa deveria imprimir o quê? Uma mensagem de erro?

Como pediu outro usuário, seria bom ver o enunciado original.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts