Cu streamuri ai face asa:
#include <iomanip>
cout << A[A[0]];
for (i = A[0] - 1; i > 0; --i)
cout << setw(4) << setfill('0') << A[i];
Functia setw(x) face ca numerele sa fie scrise in coloane de x caractere iar functia setfill(c) completeaza spariile albe cu caracterul c.
Apropo, eu am implementate o parte din operatiile cu numere mari in clase. Sunt curios sa vad cu ai de gand sa le implementezi, pentru ca si eu am avut mai multe tentative, si sunt curios sa vad si ce operatii o sa implementezi. In orice caz, de cele mai multe ori, ineficienta implementarilor se tragea de la initializarile pe care le faceam, de genul memset(X, 0x00, sizeof(X)), alfel avand nevoie de multe if-uri; uneori merge si X[0] * sizeof(X[0]), dar nu tot timpul. Si daca nu vrei sa implementezi cu vectori statici, poti sa derivezi clasa vector, din STL, numai ca scrii ceva mai mult.