Buscar

Como Fomatar uma sequência númerica no c++ para ter o resultado padronizado R$ 20.200,00

💡 4 Respostas

User badge image

Alcides Mendes

 

/* Ciandra, existe um método chamado Replace, você pode trabalhar ele em conjunto com o Find.
Segue um pequeno exemplo de como utilizar:*/

#include <iostream>
#include <string>

int main ()
{
using namespace std;

string str;

str = "R$ 20,200.00";

str.replace(str.find(','),1,"@");
str.replace(str.find('.'),1,",");
str.replace(str.find('@'),1,".");

cout << ("%s",str);

getchar(); // Prefiro usar o comando getchar(); no lugar do system("pause");

return 0;
}

5
Dislike0
User badge image

Andre Smaira

Mesclar listas de dois em dois. Use a ordenação por mesclagem como a rotina de mesclagem para mesclar, pois as listas são classificadas. Isso é muito simples de implementar sem nenhuma biblioteca. Mas leva tempo o O(m^2*n)que é pequeno o suficiente se m não for grande.


Faça isso até restar apenas 1 lista, que seria sua resposta. Essa técnica é usada huffman codinge produz optimal merge pattern. Isso leva O(m*n*logm). Além disso, para listas de tamanhos semelhantes, pode ser feito parallelcomo podemos selecionar um par de lista e mesclar em paralelo. Supondo que você tem, em m processorsseguida, o algoritmo pode idealmente executado em O(n*logm)vez deO(m*n*logm)


Para formatar essa sequência usamos o seguinte algoritmo:

include <list>

#include <iostream>

using namespace std;

int main(void)

{

list<int> a = { 1, 3, 5, 7, 9}, b = { 2, 4 , 6, 8, 9, 10}, c; //c is out

for(auto it1 = begin(a), it2 = begin(b); it1 != end(a) || it2 != end(b);)

if(it1 != end(a) && (it2 == end(b) || *it1 < *it2)) {

c.push_back(*it1);

++it1;

}

else {

c.push_back(*it2);

++it2;

}

for(auto x : c)

cout<<x<<' ';

cout<<'\n';

}

0
Dislike0
User badge image

Andre Smaira

Mesclar listas de dois em dois. Use a ordenação por mesclagem como a rotina de mesclagem para mesclar, pois as listas são classificadas. Isso é muito simples de implementar sem nenhuma biblioteca. Mas leva tempo o O(m^2*n)que é pequeno o suficiente se m não for grande.


Faça isso até restar apenas 1 lista, que seria sua resposta. Essa técnica é usada huffman codinge produz optimal merge pattern. Isso leva O(m*n*logm). Além disso, para listas de tamanhos semelhantes, pode ser feito parallelcomo podemos selecionar um par de lista e mesclar em paralelo. Supondo que você tem, em m processorsseguida, o algoritmo pode idealmente executado em O(n*logm)vez deO(m*n*logm)


Para formatar essa sequência usamos o seguinte algoritmo:

include <list>

#include <iostream>

using namespace std;

int main(void)

{

list<int> a = { 1, 3, 5, 7, 9}, b = { 2, 4 , 6, 8, 9, 10}, c; //c is out

for(auto it1 = begin(a), it2 = begin(b); it1 != end(a) || it2 != end(b);)

if(it1 != end(a) && (it2 == end(b) || *it1 < *it2)) {

c.push_back(*it1);

++it1;

}

else {

c.push_back(*it2);

++it2;

}

for(auto x : c)

cout<<x<<' ';

cout<<'\n';

}

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