Anda di halaman 1dari 10

Tipos estruturados e funções

Prof. Éverton Santi


Motivação
• Reutilização de código;
• Organização;
• Facilidade de implementação para alguns problemas;
Exemplo 1: passando uma estrutura para uma
função
• Crie um novo tipo Horario contendo os campos horas, minutos e
segundos
• Crie uma função que recebe um parâmetro do tipo Horario e retorna
a quantidade de segundos
Exemplo 1: passando uma estrutura ‘Horario’
para uma função
//Estrutura //Protótipo
struct Horario int total_segundos(Horario horario);
{
//Definição/Implementação
int hora;
int total_segundos(Horario horario)
int minuto; {
int segundo; return horario.hora*3600+horario.minuto*60+horario.segundo;
}
};
Exemplo 2: passando vetores de estruturas
para uma função
• A passagem de vetores é feita por referência

• Crie uma função que recebe um vetor de elementos do tipo Horario e


retorna o horário mais recente do vetor.
Exemplo 2: Passando vetores de estruturas
para funções //protótipo
int mais_recente(Horario v[MAX], int n);

//implementação
//Estrutura Horario mais_recente(Horario v[MAX], int n){
int pos = 0;
struct Horario for(int i=1; i<n; i++)
{ {
if(total_segundos( v[ i ] ) > total_segundos( v[ pos ] ))
int hora; {
pos = i;
int minuto; }
int segundo; }
return v[pos];
}; }
Exemplo 3: Passando matrizes de estruturas
para funções
//Estrutura
//protótipo
struct Horario void funcao(Horario m [][MAX]);
{
int hora; //Implementação
int minuto; void funcao(Horario m[][MAX]){
//instruções
int segundo;
}
};
Exercício 1
• Crie um programa que:
• Leia um conjunto de 𝑛 horários;
• Ordene este conjunto de 𝑛 horários, do mais antigo para o mais recente;

• Dica: Considere implementar uma função para:


• Ler as informações de um horário;
• Ler as informações de 𝑛 horários;
• Comparar dois horários (quem é o mais antigo);
• Trocar os dados de dois horários (inverter);
• Ordenar 𝑛 horários;
Exercício 2
• Crie uma função que calcula o centro geométrico 𝑝ҧ de um conjunto
de pontos no plano. Sendo 𝑃 = {𝑝1 , 𝑝2 , … , 𝑝𝑛 } tal conjunto, tem-se
que:
𝑝ҧ = (𝑥,ҧ 𝑦)

σ𝑛𝑖=1 𝑥𝑖
𝑥ҧ =
𝑛
σ𝑛𝑖=1 𝑦𝑖
𝑦ത =
𝑛
Exercício 3
• Crie um programa que permite a execução de pesquisa binária em um
array, para o qual cada elemento representa uma pessoa (nome, data
de nascimento). A chave da busca será o nome.

Anda mungkin juga menyukai