Buscar

Pessoal alguem pode me ajudar nessa questão de c++ ficaria muito grato.

Desenvolver um algoritmo que receba o nome de um conjunto de funcionários de uma empresa e forneça o salário reajustado em 20% mais um abono fixo de 300,00. Utilize a técnica de fim de arquivo, escolhendo um sinal de parada flag adequado. Ao final deve ser fornecido: a) O maior salario, com o nome do funcionário correspondente. b) O total a ser pago pela empresa. c) A Média salarial da empresa ( após o reajuste). d) O percentual de funcionários que recebem.mais de R$2000 ,00 .

💡 4 Respostas

User badge image

valdeir nascimento

meu email valdeircn11@gmail.com
0
Dislike0
User badge image

Andre Smaira

O algoritmo será:

{

// Marque a frequência de todos os elementos

unordered_map <int, int> freq;

para (int i = 0; i <n; i ++)

freq [a [i]] ++;

// Obtém o primeiro elemento máximo

int maxi1 = * max_element (a, a + n);

// Diminuir a frequência de todos os divisores

// do número máximo que está presente

// int a []

para (int i = 1; i * i <= maxi1; i ++) {

if (maxi1% i == 0 &&

freq.find (i)! = freq.end () &&

freq [i]! = 0) {

freq [i] -;

if (i! = (maxi1 / i) &&

freq.find (maxi1 / i)! = freq.end () &&

freq [maxi1 / i]! = 0)

freq [maxi1 / i] -;

}

}

// O segundo número é o maior número

// presente nos números restantes.

int maxi2 = -1;

para (int i = 0; i <n; i ++) {

if (freq [a [i]]! = 0)

maxi2 = max (maxi2, a [i]);

}

cout << maxi1 << "" << maxi2;

}

// Driver Code

int main ()

{

int a [] = {10, 2, 8, 1, 2, 4, 1, 20, 4, 5};

int n = tamanho de (a) / sizeof (a [0]);

getNumbers (a, n);

return 0;

}

0
Dislike0
User badge image

Andre Smaira

O algoritmo será:

{

// Marque a frequência de todos os elementos

unordered_map <int, int> freq;

para (int i = 0; i <n; i ++)

freq [a [i]] ++;

// Obtém o primeiro elemento máximo

int maxi1 = * max_element (a, a + n);

// Diminuir a frequência de todos os divisores

// do número máximo que está presente

// int a []

para (int i = 1; i * i <= maxi1; i ++) {

if (maxi1% i == 0 &&

freq.find (i)! = freq.end () &&

freq [i]! = 0) {

freq [i] -;

if (i! = (maxi1 / i) &&

freq.find (maxi1 / i)! = freq.end () &&

freq [maxi1 / i]! = 0)

freq [maxi1 / i] -;

}

}

// O segundo número é o maior número

// presente nos números restantes.

int maxi2 = -1;

para (int i = 0; i <n; i ++) {

if (freq [a [i]]! = 0)

maxi2 = max (maxi2, a [i]);

}

cout << maxi1 << "" << maxi2;

}

// Driver Code

int main ()

{

int a [] = {10, 2, 8, 1, 2, 4, 1, 20, 4, 5};

int n = tamanho de (a) / sizeof (a [0]);

getNumbers (a, n);

return 0;

}

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis


✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais