Boa tarde!
Tentando resolver um problema em C++, encontrei uma dificuldade em passar um inteiro lido ( valor de entrada) para uma string ( passá-lo para um vetor). Exemplificando:
Um inteiro k = 224 --> Transforma-lo em vetor --> k[0] = 2 // k[1] = 2 // k[2] = 4.
Obs.: O problema pedirá n inteiros e devo apresentar a quantidade de cada algarismos nesses números,ou seja, quantas vezes apareceu 0,1,2,3, assim por diante.
O objetivo é contar os algarismos.Nesse exemplo, o dois aparece duas vezes e o quatro apenas uma vez. Podem ajudar ?
Agradeço a atenção!!
Tentativa :
#include <iostream>
#include <string>
using namespace std;
int main(){
int n,a,b,c,d,e,f,g,h,i,j,k;
string s;
a = b = c = d = e = f = g = h = i = j = 0;
cin >> n;
for(int i = 0;i < n;i++){
cin >> k;
fmt::format_int(k).str();
if(n[i] == 0){
a++;
}
else if (n[i]== 1){
b++;
}
else if (n[i]== 2){
c++;
}
else if (n[i]== 3){
d++;
}
else if (n[i]== 4){
e++;
}
else if (n[i]== 5){
f++;
}
else if (n[i]== 6){
g++;
}
else if (n[i]== 7){
h++;
}
else if (n[i]== 8){
i++;
}
else if (n[i]== 9){
j++;
}
cout << 0 "-" << a << endl;
cout << 1 "-" << b << endl;
cout << 2 "-" << c << endl;
cout << 3 "-" << d << endl;
cout << 4 "-" << e << endl;
cout << 5 "-" << f << endl;
cout << 6 "-" << g << endl;
cout << 7 "-" << h << endl;
cout << 8 "-" << i << endl;
cout << 9 "-" << j << endl;
}
return 0;
}