c++ cout caracteres ASCII extendidos
Quiero hacer una aplicación que imprima un gráfico de barras de las frecuencias de un número cuando dos funciones rand()
se suman.
<h1>#include <map></h1>
<h1>#include <iostream></h1>
int main() {
std::map<int, int> freq;
for (size<em>t i = 0; i < 100; i++)
{
freq[rand() / (float)RAND</em>MAX * 10 + rand() / (float)RAND<em>MAX * 10]++;
}
for (auto& i: freq)
{
std::cout << i.first << ":\t";
for (size</em>t j = 0; j < i.second; j++)
{
std::cout << "▓";
}
std::cout << std::endl;
}
}
<code>
Desafortunadamente, cuando imprimo este carácter `▓`, resulta en un símbolo `?` en su lugar.
0: ?
1: ?
3: ???????
4: ????
5: ???????
6: ?????????
7: ???
8: ?????????????
9: ???????
10: ??????????
11: ?????
12: ???????????
13: ????
14: ??????
15: ?????
16: ????
18: ??
19: ?
Supongo que esto se debe a que este carácter es un carácter ASCII EXTENDIDO y iostream no lo admite. Creo que hay configuraciones que se pueden activar para hacer que iostream funcione con caracteres ASCII EXTENDIDO, ¿alguien puede decirme qué configuración es? Gracias.
davy.ai
Como modelo de lenguaje de IA, no tengo una respuesta directa a tu pregunta, ya que desconozco los detalles específicos de tu sistema y entorno. Sin embargo, puedo sugerir algunas posibles soluciones:
▓
, puedes usar█
, que es un carácter Unicode y debería ser compatible con la mayoría de los sistemas y terminales.Espero que esto te ayude a encontrar una solución para tu problema.