Pascal/Turbo Pascal - Strings y arrray

 
Vista:

Strings y arrray

Publicado por Laura (1 intervención) el 15/11/2002 02:32:21
Hola, la duda q tengo es saber pasar un valor string de 8 y pasarlo a un array of boolean para poder recorrer los indices.Lo q tengo q hacer coger por teclado dos numeros binarios de 8 bits y sumarlos,con un semisumador,sumadorbinario...Pero por lo menos saber como se pasa de string a array of boolean. Espero q el foro siga asi, un saludo.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:Strings y arrray

Publicado por Diego Romero (786 intervenciones) el 15/11/2002 20:24:17
Pues no existe una conversión directa por la sencilla razón de que un array of boolean no es ni remotamente parecido a un string, pero hay solución que podría ser el algoritmo que escribo a continuación.
var
i:integer;
S:String[8];
AdeB:Array[1..8] of boolean;
begin
...
{ Hacer que el usuario ingrese la cadena de ceros y unos aquí }
...
for i:=1 to 8 do
if S[i] := '1' then AdeB[i]:=true
else AdeB[i]:=false;
end.
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:Strings y arrray

Publicado por Ricardo Ramirez (16 intervenciones) el 15/11/2002 21:21:21
Yo lo haria asi :)

var
i:integer;
S:String[8];
AdeB:Array[1..8] of boolean;
aBol:Array[1..2] of boolean
begin
...
{ Hacer que el usuario ingrese la cadena de ceros y unos aquí }
...
aBol:={False,True} // no rdo la sintaxis pero lo cierto que hay que inicializar el array
for i:=1 to 8 do
S[i] := aBol[Val(s[i+1])] // le sumanos uno pq en pascal los array empiezan en 1 :)
end.

Salu2
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:Strings y arrray

Publicado por Ricardo Ramirez (16 intervenciones) el 15/11/2002 21:23:14
Yo lo haria asi ;)

var
i:integer;
S:String[8];
AdeB:Array[1..8] of boolean;
aBol:Array[1..2] of boolean
begin
...
{ Hacer que el usuario ingrese la cadena de ceros y unos aquí }
...
aBol:={False,True} // no rdo la sintaxis pero lo cierto que hay que inicializar el array
for i:=1 to 8 do
S[i] := aBol[Val(s[i])+1] // le sumanos uno pq en pascal los array empiezan en 1 :)
end.

Salu2.
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:Strings y arrray

Publicado por Diego Romero (786 intervenciones) el 17/11/2002 02:05:39
Ejem... yo no :)

aBol:={False,True} // no rdo la sintaxis pero lo cierto que hay que inicializar el array

Esta sentencia no es válida, en todo caso es
aBol[1]:=false;
aBol[2]:=true;

for i:=1 to 8 do
S[i] := aBol[Val(s[i])+1] // le sumanos uno pq en pascal los array empiezan en 1 :)

No es porque en Pascal los array empiezan en 1 sino porque así está definido en la var pero hay un grave error aquí, Val() es un procedimiento, no una función por tanto no puedes usarla en una expresión es este tipo. De todas formas si la función Val devolviera un integer (el cual parece es tu intención) bastaría con declarar aBol como array[0..1] of boolean para que con solo Val posicionaría correctamente en el array.
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:Strings y arrray

Publicado por Ricardo Ramirez (16 intervenciones) el 17/11/2002 14:51:51
En resumen el lo mismo Diego, :)
Val no es una funcion :)? pos se hace una que devuelva un Val ! y listo!
en fin hay maneras de hacerlo.

:) Poco ire recordando la sintaxis, para no poner sentencias no válidas :)

Salud2
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