C/Visual C - Duda con RAM y códigod ASCII

 
Vista:

Duda con RAM y códigod ASCII

Publicado por DanielC++ (11 intervenciones) el 14/05/2008 13:09:20
Hola a todos
De antemano les aclaro que soy un autodidacta y un
recién iniciado en C++ por lo tanto lo que expongo como teoría
sobre la RAM y los código ASCII puede estar errados, por ello
recurro a vuestro conocimiento para disipar mis dudas.-
El código que les dejo a continuación lo estoy haciendo para
ordenar de forma alfabética los 5 productos ingresados, por
supuesto qué le falta muchos complemento, pero a los efectos
de aclarar mi duda por el momento es suficiente.-
Yo tengo entendido qué al ingresar por ej. "sal",en la RAM quedara
escrito "11597108" y si luego ingreso "sol" en la RAM aparecerá
"115111108" de allí deduzco qué si pongo sal > sol el compilador
me dirá que no.-
dos preguntas:
1): estoy en lo cierto o estoy delirando.-
2): Si esto fuera así, como puedo hacer para imprimir en pantalla
el ASCII de los productos ingresados....?

--------------------------------------------------------------------------------------------------------------------------
#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

int main(int argc, char *argv[])
{
string ordenar[6];
cout << endl;
cout << " ------------- Alta de productos -------------" << endl;
cout << endl;
cout << " Ingrese producto.:";
getline(cin,ordenar[0]);
cout << " Ingrese producto.:";
getline(cin,ordenar[1]);
cout << " Ingrese producto.:";
getline(cin,ordenar[2]);
cout << " Ingrese producto.:";
getline(cin,ordenar[3]);
cout << " Ingrese producto.:";
getline(cin,ordenar[4]);
int orden = 0,orduno = 0,orddos = 1;

for (int salir=0; salir<11; salir++)
{
orden = ordenar[orduno].compare(ordenar[orddos]);
if (orden > 0)
ordenar[orduno].swap(ordenar[orddos]);
orduno++,orddos++;
if(salir == 4 || salir == 7 || salir == 9)
orduno = 0, orddos = 1;
}

cout << endl;
cout << " Productos ordenados" << endl;
for (int fin=0; fin <6; fin++) cout << " " << ordenar[fin] << endl;

system("pause");
return EXIT_SUCCESS;
}
--------------------------------------------------------------------------------------------------------------------------
Desde ya muchas gracias por el tiempo que cada uno desee dedicarle a este post.-
Un gran abrazo
Daniel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda con RAM y códigod ASCII

Publicado por Tom (619 intervenciones) el 15/05/2008 16:49:26
Lo de ser autodidacta no está mal, pero generalmente hace falta una pequeña base (como mínimo).
Efectivamente, en la memoria todo son números. Algunos de ellos se interpretan como caracteres, y de esto se encarga tu compilador, y otros se tratarán como números y de nuevo será el compilador el encargado de distinguirlos.

Por otra parte, los datos numéricos en memoria siempre ocupan un número específico de posiciones (1 un char, 2 un short, 4 un int, 8 un double, en una arquitectura genérica, porque puede variar según el compilador y el microprocesador).

O sea, si tratas de hacer una comparación numérica entre valores que, tratados como cadena, usarían 5 bytes, el compilador comparará el número de bytes (2, 4, 8) correspondientes a algún tipo numérico definido (esto si es capaz de compilar tu código) dándote resultados incorrectos la mayoría de las veces.

Lee algo sobre el lenguaje que usas para ver qué tipo de operandos admite el operador '>' (por ejemplo) y luego aplica la lógica.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda con RAM y códigod ASCII

Publicado por DanielC++ (11 intervenciones) el 15/05/2008 18:42:33
Hola Tom
Gracias por contestar y debo aclararte que con gusto tomaría
la base que propones, si tuviera la posibilidad de concurrir a la
facultad pero tengo 56 años y aunque dispongo de un negocio
propio, la más cercana esta a 90 Kmt., como comprenderas la
única posibilidad que me queda es consultar libros y los foros,
creeme que por momento es un tanto frustrante mi sistema
pero es tal mi entusiasmo que estoy seguro que lo lograre.-

Un gran abrazo
Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda con RAM y códigod ASCII

Publicado por Tom (619 intervenciones) el 16/05/2008 11:56:23
Por supuesto. En los libros está todo. Y en Internet aún hay más :-)

A lo que me refiero es a que trates de aprender algo fundamentado sobre el lenguaje, antes de lanzarte a usarlo.

Suerte. Yo no fuí a la facultad, y soy muy bueno en informática.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar