Primero que nada no se de donde sacaste esa función "do", el error radica en que para hacer un programa como ese tienes que usar dos ciclos "for" anidados
segundo siempre debes respetar sangrias, porque si no c++ piensa que el otro ciclo for hay que ejecutarlo fuera del anterior, entonces te volveria a escribir i
me imagino que tu compilador no es estándar o estas usando alguna versión de visual c++, bueno te dejo un ejemplo de como deberia ser tu codigo
Bueno la funcion "do" se me fue un momento, pero eso si no creo que tenga mayor utilidad en el trabajo que esta haciendo, ahora con respecto a la sangría, el ciclo va dentro del otro ciclo y el esta cerrando el ciclo antes de iniciar el otro, o sea que si bien no reconoce los espacios si debería respetar las llaves, creo que ya la programacion con Python me esta afectando con lo de las sangrias xD, visual C++ no es completamente estandar y para eso no hay que ser genio, no te respeta el ISO c++ v2.0 y me consta porque cuando quiero compilar un hola mundo en Visual C++ solo con la libreria iostream usando el namespace std me lanza errores.
cout<<"Introduce el valor de la variable X";cout<<j+1;cout<<": ";