Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: MellaSystems en 24 Febrero 2015, 03:34 am



Título: imprimir una palabra vertical paralela a la otra
Publicado por: MellaSystems en 24 Febrero 2015, 03:34 am
tengo este codigo y quiero imprimir

h        c          e
o        o          s
l         m         t
a        o          a
                     s

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. main(){
  6.       string c="hola como estas";
  7.       getline(cin,c);
  8.       for(int i=0;c[i]!='\0';i++){
  9.               cout<<endl<<c[i];
  10.           if(i==-1 || c[i] == ' ' && c[i+1] != ' '){
  11.             cout<<c[0+2];
  12.             cout<<"\t\t"<<c[i];
  13.            }    
  14.           }
  15.       system("pause");
  16.       }
  17.  


Título: Re: imprimir una palabra vertical paralela a la otra
Publicado por: engel lex en 24 Febrero 2015, 04:04 am
sin control directo de la consola dudo que tu metodo funcione ya que puesto el salto de linea el tabulador no hará lo que quieres...

por lo menos 2 ciclos necesitarás para buscar espacios y asegurarte que las palabras más cortas al inicio no generen conflicto... si es posible, hacer un array con el largo de cada palabra para controlar...

la consola no es justamente amistosa con esas cosas y el control de consola depende del sistema operativo (desconozco alguna librería standard que permita controlarla)


Título: Re: imprimir una palabra vertical paralela a la otra
Publicado por: MellaSystems en 24 Febrero 2015, 04:11 am
Gracias hermano y yo tampoco una librería estándar para controlar la consola, pero veré que hago


Enviado desde mi iPhone utilizando Tapatalk


Título: Re: imprimir una palabra vertical paralela a la otra
Publicado por: engel lex en 24 Febrero 2015, 04:30 am
puedes "controlar la consola" en multiples sistemas con los ANSI scape codes

no es la forma más prolija pero sirve

esto mueve el cursor a la derecha 5 espacios
Código
  1. printf("\x1B[%d%c",5,'C');

el primero numero es la cantidad de espacios
A=arriba, B=abajo, C=izquierda, D= derecha

aquí info (http://ascii-table.com/ansi-escape-sequences.php)