Test Foro de elhacker.net SMF 2.1

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 (cpp) [Seleccionar]
#include<stdio.h>
main()
{
char caracter= 0; int i=1;//caracter =\0
printf("dame una cadena de caracteres: ");

  while (getchar()!='\n')
 {
  caracter=getchar();  
  printf("\n%d    %c",i++,caracter);
       
  }
}




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 (cpp) [Seleccionar]
for(int i=0;i<strlen(cadena);i++){
cout << cadena[i] << endl;
cout << i+1 << endl;
}
co