El primero no lo entiendo, la suma de los dígitos al cuadrado de un numero ingresado???
Si ingresas 2, dos al cuadrado es 4, que sería la suma de 2+4=6???
En el segundo, si el numero es introducido como un String, entonces podrás acceder a los métodos de este tipo, y podrías hacer un bucle desde 1 hasta el string.length() y en cada pasada que vaya mostrando cada dígito con su multiplicación , en tu ejemplo sería algo así:
Código C++:
Ver original#include <iostream>
#include <string>
using namespace std;
void test(string num){
string mul = "1";
for(int i = 1; i < num.length(); i++) mul += "0";
int mulI
= atoi(mul.
c_str());
cout << num << " = ";
for(int i = 0; i < num.length(); i++){
cout << num[i] << "x" << mulI;
if(i!=num.length()-1)
cout << "+";
mulI /= 10;
}
cout << endl;
}
int main(){
test("1234");
return 0;
}
Esta es una forma "fea" para que la entiendas e intentes mejorarla, así aprendes.
Un saludo.