Você está na página 1de 3

1. o 14 entra embaixo do quinze a esquerda.

2. o quick sort escolhe um pivo e sempre marca qual o pior e o melhor mas pra cair
no pior caso o pivo sempre cai no menor e no maior e a probabilidade de isso
acontecer eh minima. N log(N)
-----------------------------------------------------------------------------------
---------------------------------
3.
no *achaMaior(no *lista){
no *no_atual = lista, *maiorP;
float maior = 0;
while (no_atual != NULL){
if (no_atual->info > maior){
maior = no_atual->info;
maiorP = no_atual;
}
no_atual = no_atual->prox;
}
return maiorP;
}
-----------------------------------------------------------------------------------
---------------------------------------
4.
no *inverteMaxMin(no *lista){
no *no_atual = lista, *no_menor = lista, *no_maior = lista;
float maior = no_atual->info, menor = no_atual->info;

while (no_atual != NULL){


if (no_atual->info > maior){
maior = no_atual->info;
no_maior = no_atual;
}
if(no_atual->info < menor){
menor = no_atual->info;
no_menor = no_atual;
}
else{
no_atual = no_atual->prox;
}
}
no_maior->info = menor;
no_menor->info = maior;

return lista;
}
-----------------------------------------------------------------------------------
---------------------------------------
5.
#include <stdio.h>

typedef struct {
int agencia;
int numero;
int tipo_conta;
float valor;
} Conta;

float calcular_soma_tipo1(Conta contas[], int num_contas) {


float soma = 0;
for (int i = 0; i < num_contas; i++) {
if (contas[i].tipo_conta == 1) {
soma += contas[i].valor;
}
}
return soma;
}

float calcular_soma_tipo2(Conta contas[], int num_contas) {


float soma = 0;
for (int i = 0; i < num_contas; i++) {
if (contas[i].tipo_conta == 2) {
soma += contas[i].valor;
}
}
return soma;
}

int main() {
Conta contas[20];
int num_contas = 0;

// Adicionando 10 contas de exemplo


contas[num_contas].agencia = 1;
contas[num_contas].numero = 1234;
contas[num_contas].tipo_conta = 1;
contas[num_contas].valor = 1000.0;
num_contas++;

contas[num_contas].agencia = 1;
contas[num_contas].numero = 5678;
contas[num_contas].tipo_conta = 2;
contas[num_contas].valor = 2000.0;
num_contas++;

contas[num_contas].agencia = 2;
contas[num_contas].numero = 9012;
contas[num_contas].tipo_conta = 1;
contas[num_contas].valor = 1500.0;
num_contas++;

contas[num_contas].agencia = 2;
contas[num_contas].numero = 3456;
contas[num_contas].tipo_conta = 2;
contas[num_contas].valor = 2500.0;
num_contas++;

contas[num_contas].agencia = 3;
contas[num_contas].numero = 7890;
contas[num_contas].tipo_conta = 1;
contas[num_contas].valor = 1200.0;
num_contas++;

contas[num_contas].agencia = 3;
contas[num_contas].numero = 2345;
contas[num_contas].tipo_conta = 2;
contas[num_contas].valor = 1800.0;
num_contas++;
contas[num_contas].agencia = 4;
contas[num_contas].numero = 6789;
contas[num_contas].tipo_conta = 1;
contas[num_contas].valor = 800.0;
num_contas++;

contas[num_contas].agencia = 4;
contas[num_contas].numero = 123;
contas[num_contas].tipo_conta = 2;
contas[num_contas].valor = 3000.0;
num_contas++;

// Calcular e imprimir a soma dos valores em contas do tipo 1


float soma_tipo1 = calcular_soma_tipo1(contas, num_contas);
printf("Soma dos valores em contas do tipo 1: %.2f\n", soma_tipo1);

// Calcular e imprimir a soma dos valores em contas do tipo 2


float soma_tipo2 = calcular_soma_tipo2(contas, num_contas);
printf("Soma dos valores em contas do tipo 2: %.2f\n", soma_tipo2);

return 0;
}

Você também pode gostar