Pascal/Turbo Pascal - Una duda...

 
Vista:

Una duda...

Publicado por marcelo (5 intervenciones) el 10/11/2006 16:06:04
Hola una consulta como puedo hacer para juntar dos caracteres, por ejemplo si tengo un tipo de arreglo llamado arr de caracteres y quiero leer numeros asociados a una secuencia de caracteres,entonces al leer un numero,ese numero esta asociado con el caracter indicado,si vuelvo a leer otro numero estaria asociado a otro caracter.Mi problema es como hago cuando quiero escribir estos dos caracteres juntos en la salida del programa.
Gracias.-
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:Una duda...

Publicado por Carlos Guimaraenz (265 intervenciones) el 10/11/2006 16:29:28
Hola Marcelo! La verdad que no me queda muy claro el enunciado... de todas maneras, cuando quieres escribir los dos caracteres juntos, lo que puedes hacer es:

Write(Arreglo[1] + Arreglo[2]); {utilizando los índices que necesites, claro está}

Si puedes aclarar un poco más el enunciado, e incluso poner algún ejemplo, te agradezco. Un abrazo!
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:Una duda...

Publicado por Marcelo (5 intervenciones) el 10/11/2006 23:14:05
Por ejemplo yo leo numeros una cierta cantidad con repeticiones,Del 0 al 9.Cada numero esta asociado a caracteres diferentes,la letra me dice que ahi haga un arreglo de caracteres por ejemplo:
Type letras =ARRAY [0..9] of char
Entonces de la entrada leo numeros y cuando el fin de linea sea true.
Me despliega un mensaje traducido,tipo un celular.-
Me dijeron hacer un arreglo para guardar el mensaje por ejemplo:
Type mensaje= ARRAY[1..50] of char
Cada celda del mensaje representa un caracter,y cuando leo de la entrada numeros repetidos,el ultimo numero repetido me lo guarda al mensaje.
Mi problema esta en como guardar ese simbolo,y poder leer uno nuevo,para que despues me despliegue en la salida un mensaje un ejemplo:

Yo escribo 6665443 entonces al finalizar con fin de linea
me despliega lo siguiente:
6->p
6->q
6->r {Hasta aca no tengo problemas}

5->rl {Mi duda esta a partir de aca en este renglón,que puedo hacer para guardar la letra r y poder leer la l por ejemplo}
4->rli
4->rlj
3->rlje
Este ejemplo fue corto,el mensaje tiene 4 simbolos guardados hasta el momento de los 50.

Te dejo algo de la letra sobre lo que me pide:

Veamos como sería el esquema para multi-tap siguiendo esta idea.

En el multi-tap tenemos que detectar las secuencias consecutivas de teclas iguales. Se puede hacer con una única iteración guardando el carácter anterior. Sin embargo, resulta más claro el siguiente esquema donde la repetición de teclas se resuelve con una iteración anidada dentro de la iteración principal:


procedure LeerCaracter(var c: char; var fin: boolean);
begin
if eoln then
begin
fin:= true;
readln;
end
else
begin
fin:= false;
read(c);
end;
end;

LeerCaracter(tecla,fin_de_linea);
while not fin_de_linea do
begin
{comienza repetición}
primero:= tecla;
{Obtener símbolos asociados con tecla}
{mostrar primer símbolo}
LeerCaracter(tecla,fin_de_linea);
{Obtener secuencia asociada a tecla}
while not fin_de_linea and (tecla = primero) do
begin
{sigue repetición};
{mostrar siguiente símbolo};
LeerCaracter(tecla,fin_de_linea);
end;
{Terminó repetición}
{Agregar símbolo a mensaje } {aca que puedo hacer cuando termina la repeticion,como hago para agregar el simbolo al mensaje}
end;

Espero que te halla quedado claro.-
Gracias.-
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