Alguém pode me ajudar nessa questão de C++? não estou conseguindo construir o algorítmo corretamente.
5.92) Faça um algoritmo que leia a matrícula, nome, sexo e três notas dos alunos de uma escola e obtenha os seguintes resultados:
a) A matrícula da aluna que obteve a maior média.
b) A matrícula do aluno que obteve a menor média.
c) O percentual de mulheres na turma.
d) Quantos alunos foram aprovados, independente do sexo.
e) O percentual de alunas aprovadas.
Obs.: o flag é uma matrícula igual a 0 (zero).
Estou tentando fazer esse exercício de introdução a programação em C++, e estou tendo dificuldades para criar os algoritmos. Alguém poderia me ajudar?
Uma agência de turismo quer fazer um levantamento das praias da cidade para um programação turística de verão, sabendo-se que cada praia tem um nome e uma distância (em Km) do hotel. Criar um algoritmo que forneça os seguintes dados:
18
Porcentagem de turistas nas praias próprias do hotel
A praia mais adiante
Nome e distancia das praias não-próprias com distancia do hotel maior que 10 km.
O algoritmo acaba quando se digita @ para nome da praia.
#include<iostream>
using namespace std;
int BuscaBin (int lista[], int baixo, int alto, int chave)
{
int central;
int valorcentral;
while (baixo <= alto)
{
central = (baixo + alto)/2;
valorcentral = lista[central];
if (chave == valorcentral)
return central;
else if (chave < valorcentral)
alto = central -1;
else
baixo = central + 1;
}
}
int main()
{
int a[10];
int chave, pos;
cout << "Introduza uma lista de 10 inteiros:";
for (pos = 0; pos < 10; pos++)
cin >> a[pos];
cout << "Introduza chave a buscar:";
cin >> chave;
pos = 0;
while ((pos = BuscaBin(a, 0, 9, chave))!= -1)
{
pos++;
}
cout << chave << " está na lista " << " vezes na lista " << endl;
}
O objetivo é inserir uma lista e resultar numa busca binária e ele retornar a chave, não posso alterar a função BuscaBin
Sua tarefa é implementar uma árvore de busca binária que armazene strings. A ordem de inserção deverá ser alfabética crescente, ou seja, se o valor do elemento da raiz for “iguana”, então a palavra “beterraba” deverá ser inserida na subárvore da esquerda, enquanto a palavra “pagode” deverá ser inserida na subárvore da direita.
Devem ser declaradas a struct e implementadas as seguintes funções da árvore:
• criar(): inicialização da árvore.
• buscar(): busca de um elemento na árvore.
• inserir(): inserção de um elemento na árvore.
• remover(): remove um elemento da lista.
• estaVazia(): retorna um booleano indicando se a árvore está vazia.
• ehEstritamenteBinaria(): retorna um booleano indicando se a árvore é estritamente binária.
• ehQuaseCompleta(): retorna um booleano indicando se a árvore é quase completa.
• ehCompletaCheia(): retorna um booleano indicando se a árvore é completa (cheia).
• preOrdem(): visita e imprime os elementos da árvore em PRÉ-ORDEM (“RED”).
• emOrdem(): visita e imprime os elementos da árvore EM-ORDEM (“ERD”).
• posOrdem(): visita e imprime os elementos da árvore em PÓS-ORDEM (“EDR”). Após implementar a estrutura de dados, escreva um programa em C/C++ que permita ao usuário executar as funções acima
Fiz um programa que calcula o reajuste de salário de 5 funcionários armazenando seus nomes e salários em vetores, porém o salário já reajustado aparece com o mesmo valor do salário original.
/*
Armazenar o nome e o salário de 5 funcionários. Após o cadastro destas informações, deverá ser digitado o índice de reajuste salarial para todos os funcionários. O programa deverá calcular o novo salário e exibir todos os dados na tela
*/
#include <iostream>
#include <locale.h>
#include <string>
#include <string>
#include <stdlib.h>
#include <cstdlib>
using namespace std;
int main() {
setlocale(0, "Portuguese");
system("color 0a");
system("MODE CON COLS=150 LINES=40");
string nomefunc[5];
double slfunc[5], slnovo[5];
int reaj, i;
cout << "\n\tArmazenar o nome e o salário de 5 funcionários. Após o cadastro destas informações, deverá ser digitado o índice de reajuste salarial para todos os funcionários. O programa deverá calcular o novo salário e exibir todos os dados na tela";
cout << "\n\n\tDigite a porcentagem do reajuste (sem o sinal %): ";
cin >> reaj;
for (i=0; i<5; i++){
cout << "\n\n\tDigite o nome do funcionário: ";
cin >> nomefunc[i];
cout << "\n\n\tDigite o salário de " << nomefunc[i] <<": ";
cin >> slfunc[i];
slnovo[i] = slfunc[i] - slfunc[i] * (reaj / 100);
}
cout << "\n\n\tO salário do primeiro funcionário (" << nomefunc[0] << ") era de R$" << slfunc[0] << " e passará a ser de R$" << slnovo[0] << " com o reajuste de " << reaj << "%.";
cout << "\n\n\tO salário do segundo funcionário (" << nomefunc[1] << ") era de R$" << slfunc[1] << " e passará a ser de R$" << slnovo[1] << " com o reajuste de " << reaj << "%.";
cout << "\n\n\tO salário do primeiro funcionário (" << nomefunc[2] << ") era de R$" << slfunc[2] << " e passará a ser de R$" << slnovo[2] << " com o reajuste de " << reaj << "%.";
cout << "\n\n\tO salário do primeiro funcionário (" << nomefunc[3] << ") era de R$" << slfunc[3] << " e passará a ser de R$" << slnovo[3] << " com o reajuste de " << reaj << "%.";
cout << "\n\n\tO salário do primeiro funcionário (" << nomefunc[4] << ") era de R$" << slfunc[4] << " e passará a ser de R$" << slnovo[4] << " com o reajuste de " << reaj << "%.";
system ("PAUSE>NULL");
}