Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: luis_rodrigo en 25 Mayo 2015, 06:25 am



Título: ????? :(
Publicado por: luis_rodrigo en 25 Mayo 2015, 06:25 am
Escribir un bucle que examine cada carácter de un array de caracteres llamado texto y
escribir el equivalente ASCII (el valor numérico) de cada carácter. Escribir el bucle de tres
formas diferentes:


a. Utilizando una sentencia while.
b. Utilizando una sentencia do while.
c. Utilizando una sentencia for.
 alguna explicación porfavor!!


Título: Re: ????? :(
Publicado por: Eternal Idol en 25 Mayo 2015, 11:52 am
¿Y que hiciste hasta ahora? No se hacen tareas.

PD. Trata de poner un titulo con un minimo de relacion con la duda por favor.


Título: Re:
Publicado por: HCK. en 25 Mayo 2015, 15:03 pm
Te lo podría resolver en C#... Y te ayudaría bastante puesto que sintácticamente es muy similar... Pero debes de intentarlo para ayudarte a corregirlo... No te podemos ayudar si tu no lo intentas.

Que los bucles recorran la longitud del array es lo único que te puedo decir para que te animes a intentarlo partiendo de una base...
Pero tienes que intentar hacerlo, si no no podemos ayudarte en mas.

Un saludo.


Título: Re: ????? :(
Publicado por: engel lex en 25 Mayo 2015, 16:47 pm
Hola! modifica el titulo

reglas del foro
(http://i.imgur.com/Kqgoftx.png)


Título: Re: ????? :(
Publicado por: 0xFer en 25 Mayo 2015, 19:08 pm
Escribir un bucle que examine cada carácter de un array de caracteres llamado texto y
escribir el equivalente ASCII (el valor numérico) de cada carácter. Escribir el bucle de tres
formas diferentes:


a. Utilizando una sentencia while.
b. Utilizando una sentencia do while.
c. Utilizando una sentencia for.
 alguna explicación porfavor!!

Este es el arreglo de caracteres
Código
  1. char* texto = "LO_QUE_SEA_AQUI";
  2.  

lo puedes recorrer y convertir así:
Código
  1. for(;*texto;texto++){
  2.    int ASCII = (int)*texto;
  3. }
  4.  

Intenta hacerlo con los demás bucles  :)




Título: Re: ????? :(
Publicado por: luis_rodrigo en 25 Mayo 2015, 19:59 pm
sisi obvio no esperaba que me lo hicieran por eso puse explicas ion porfavor, bueno lo que entendi del programa esque boy a ingresar el numer de caracteres en un arreglo

int x, i=0;
char texto[];

printf ("ingrese el numero de caracteres que quiere ingresar ");

for (i=0; i<=x; i++)
{
      scanf ("%d", &texto
  • );
      suma = suma + texto
  • ;
}
printf (" la suma de todos los caracteres es %d", suma);

getch();



ahi solo sume los arreglos pero en si el problema no le entiendo que quiere que haga :( ud que piensan?


Título: Re: ????? :(
Publicado por: 0xFer en 25 Mayo 2015, 20:21 pm
El problema solo te pide convertir los caracteres a ASCII http://es.wikipedia.org/wiki/ASCII


Título: Re: ????? :(
Publicado por: luis_rodrigo en 25 Mayo 2015, 20:26 pm
e pero esque no entiendoo pór eso lo posteo explicame :( no te desesperes jamas hice un programa que inbolucrara a ACII


Título: Re: ????? :(
Publicado por: 0xFer en 25 Mayo 2015, 20:38 pm
Se usa para representar texto usando números:
por ejemplo para la letra A en ASCII sería 65, la e sería 101.

Mira en el link que te pasé, te vas a dar cuenta de que hay un número para representar cada letra.

para convertir un carácter ASCII en C++ simplemente lo tienes que convertir a entero así:

Código
  1. int ASCII_A = (int)'A';

 
sigue leyendo el link que te pasé  ;)


Título: Re:
Publicado por: HCK. en 25 Mayo 2015, 22:50 pm
Tengo curiosidad... Estudias por tu cuenta, o estas en alguna clase o algo? (@luis_rodrigo).

Bueno, ya que te han comentado, te explicaré un poco en C# (que fácilmente puedes adaptar el código a C++).
Código
  1. //*Array donde almacenaremos los caracteres del texto deseado.
  2. char[] cArray;
  3.  
  4. //*Array de enteros donde se almacenará cada carácter en ASCII numérico.
  5. List<int> aChar = new List<int>();
  6.  
  7. //*Texto a convertir a chars.
  8. string sTexto = "EsteseramiTexto";
  9.  
  10.  
  11. //*Pasamos el texto al array de char para separar cada carácter de manera independiente.
  12. cArray = sTexto.ToCharArray(0, sTexto.Length);
  13.  
  14. //*Con la longitud del Array, hacemos que el bucle se repita el mismo numero de veces dependiendo de la longitud que tenga y a su vez, por cada repetición, convertimos cada carácter a su valor entero (ASCII) y lo almacenamos en una lista, que viene a ser un Array de enteros.
  15.  
  16. for (int i = 0; i < sTexto.Length; i++)
  17. {
  18.          aChar.Add((int)cArray[i])
  19. }
  20.  

Esto es un ejemplo en C Sharp... Lo puedes adaptar a C++, puesto que con esto la base lógica ya la tienes. Quizás te sirva.

Un saludo


Título: Re: ????? :(
Publicado por: 0xFer en 25 Mayo 2015, 23:04 pm
@HCK. usa las etiquetas GeSHi así se ve mejor el código  :)


Título: Re: ????? :(
Publicado por: HCK. en 26 Mayo 2015, 01:27 am
@HCK. usa las etiquetas GeSHi así se ve mejor el código  :)

Corregido compañero. :) Es que lo escribí desde Tapatalk y no me se de memoria los encapsulados!

Un saludo!


Título: Re: ????? :(
Publicado por: crack81 en 26 Mayo 2015, 01:57 am
Te dejo esta version

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.    string arreglo="Bienvenido a la programacion XD";
  7.  
  8.  
  9.    //usando for
  10.    for(unsigned int i=0;i<arreglo.length();i++){
  11.       cout<<(int)arreglo[i]<<" ";
  12.    }
  13.    cout<<endl;
  14.    //------------------------------------<------------
  15.    //usando while
  16.    unsigned int i=0;
  17.  
  18.    while(i<arreglo.length()){
  19.       cout<<(int)arreglo[i]<<" ";
  20.       i++;
  21.    }
  22.    cout<<endl;
  23.    //---------------------------------------------------
  24.    //usando don while
  25.  
  26.    i=0;
  27.  
  28.    do{
  29.      cout<<(int)arreglo[i]<<" ";
  30.      i++;
  31.    }
  32.    while(i<arreglo.length());
  33.  
  34.    cin.get();
  35.    cin.get();
  36.    return 0;
  37. }
  38.  


Título: Re: ????? :(
Publicado por: WHK en 26 Mayo 2015, 02:16 am
Bloqueo el tema y no lo borro por respeto al moderador.

Se mencionó que se cambiara el título del post y no se hizo caso, y tal como se menciona en el segundo post acá no se hace la tarea a nadie, explicaciones sobre como hacer algo si pero hacerlo no.

Por lo menos en el post anterior ya hicieron todo asi que... que mas da.