El problema es que tienes los conceptos erróneos.
Cuando declaras una matriz de dos dimensiones de esta manera:
estás declarando una matriz estática (se cree en tiempo de compilación), es decir, en la cual no se pueden cambiar los punteros que utiliza en tiempo de ejecución. Puedes cambiar los valores de la matriz, por supuesto.
Si te fijas en tu código intentas realizar lo siguiente:
y esto es claramente un error garrafal, porque v3[i] representa un puntero a string, pero en el caso de las matrices estáticas, es un puntero constante, es decir, que no se puede cambiar su valor.
Ese error lo cometes en bastantes sitios, como al intentar leer de teclado con cin y realizas:
Cuando cin no permite introducir datos en un puntero a string, tendrías que poner:
Código C++:
Ver originalcin >> v2[i][j]; //Siendo j la columna de la matriz que te interese.
Te faltaría poner también:
Después de los #include.
Suerte.