Código:
#include <iostream>
using namespace std;
int frase(int numchar,char *frase){
int x = strlen(frase)/numchar;
char *p;
p=frase;
for(int i=0;i<numchar;i++){
for(int j=0;j<x+1;j++){
//
if(numchar*j+i<strlen(p))cout << p[numchar*j+i] << " ";
}
cout << "\n";
//para que no muestre texto basura "cuando el numero es = de largo que la frase cierra la funcion
}
}
int main(int argc,char *argv[]){
frase(20,"hola que tal soy Xafirot y esta es una muestra de texto vertical usando un pequeño algoritmo y usando tambien puntero y este texto es para alargar el texto");
cin.get();
return 0;
}