Uri, socorro , vale nota leia um valor inteiro em linguagem c. a seguir, calcule o menor número de notas
Uri, socorro , vale notaleia um valor inteiro em linguagem c. a seguir, calcule o menor número de notas possíveis (cédulas) no qual o valor pode ser decomposto. as notas consideradas são de
100, 50, 20, 10, 5, 2 e 1. a seguir mostre o valor lido e a relação de notas necessárias. entrada o arquivo de entrada contém um valor inteiro n (0 < n < 1). saída imprima o valor lido e, em seguida, a quantidade mínima de notas de cada tipo necessárias, conforme o exemplo fornecido. não esqueça de imprimir o fim de linha após cada linha, caso contrário seu programa apresentará a mensagem: “presentation error”.
1 Resposta
Clique aqui para adicionar a sua resposta.
superlucas007
Faz um loop verificando se a condição (valor_de_entrada - valor_da_cedula >= 0) testando o valor das cédulas do maior pro menor.
ced = {100, 50, 20, 10, 5, 2, 1};
Pra cada teste em que a condição for verdadeira, subtraia o valor da cédula do valor de entrada e adicione +1 na conta de cédulas necessárias.
Pra cada teste em que a condição for falsa, repita o teste com o menor valor mais próximo e por aí vai.
Aqui tem um código:
#include
#include
#include
#include
using namespace std;
int main()
{
vector
long cedCount[] = {0, 0, 0, 0, 0, 0, 0};
long entrada;
string entradaS;
getline (cin, entradaS);
stringstream ss(entradaS);
ss >> entrada;
int type = 0; //0 é a de 100, 1 é a de 50, 2 é a de 20...
for (long i = entrada; i > 0;)
{
if (i - ced[type] >= 0)
{
i -= ced[type];
cedCount[type]++;
}
else
{
type++;
}
}
cout << "Valor de entrada: " << entrada << endl << endl;
cout << "Notas de 100: " << cedCount[0] << endl;
cout << "Notas de 50: " << cedCount[1] << endl;
cout << "Notas de 20: " << cedCount[2] << endl;
cout << "Notas de 10: " << cedCount[3] << endl;
cout << "Notas de 5: " << cedCount[4] << endl;
cout << "Notas de 2: " << cedCount[5] << endl;
cout << "Notas de 1: " << cedCount[6] << endl;
}