Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: proterva en 19 Agosto 2018, 12:15 pm



Título: no lo entiendo
Publicado por: proterva en 19 Agosto 2018, 12:15 pm
No entiendo porque donde esta el error.
La idea es introducir una palabra como hola y que por pantalla salga:
1
h
2
o
3
l
4
a
El programa que jo he hecho es este:
Código
  1. #include<stdio.h>
  2. main()
  3. {
  4. char caracter= 0; int i=1;//caracter =\0
  5. printf("dame una cadena de caracteres: ");
  6.  
  7.   while (getchar()!='\n')
  8.  {
  9.   caracter=getchar();  
  10.   printf("\n%d    %c",i++,caracter);
  11.  
  12.   }
  13. }


Mod: Obligatorio el uso de etiquetas GeSHi para códigos.


Título: Re: no lo entiendo
Publicado por: MAFUS en 19 Agosto 2018, 14:23 pm
Cada vez que haces getchar debes introducir un carácter y por cada bucle tienes dos: uno en el argumento while y otro en su cuerpo.

En el argumento de while escribe: (caracter=getchar())!='\n'
quita toda la linea de getchar del cuerpo.


Título: Re: no lo entiendo
Publicado por: Beginner Web en 22 Agosto 2018, 14:30 pm
Hola, la solucion seria


Código
  1. for(int i=0;i<strlen(cadena);i++){
  2. cout << cadena[i] << endl;
  3. cout << i+1 << endl;
  4. }
  5. co