Subpage under development, new version coming soon!
Subject: Informáticos
mejor que use el codigo que le di y ya esta probado no usa array bueno si el string que es un array of char, definido por el propio pascal. le sacas el lengt y tienes cuantos numeros hay en el arreglo
luego sabiendo que los arreglos van del 0 a N metes eso en un for
de i:=0 to n-1;
validas el numero correspondiente para que sea int y no char con
val(x[n],w,code);
donde x[n] es el elemento a validar
w es un integer donde ira a parar el valor de x[n]
code devuelve 0 si la operacion fue exitosa o un numero correspondiente al error devuelto si la operacion falla
luego sabiendo que los arreglos van del 0 a N metes eso en un for
de i:=0 to n-1;
validas el numero correspondiente para que sea int y no char con
val(x[n],w,code);
donde x[n] es el elemento a validar
w es un integer donde ira a parar el valor de x[n]
code devuelve 0 si la operacion fue exitosa o un numero correspondiente al error devuelto si la operacion falla
Sigo insistiendo en lo mismo de antes, ¿para qué sumais las filas? :P. El resultado es: num1 * num2, por tanto es innecesario... y utilizar matrices sería un desperdicio total de memoria...
En cuanto al código, le veo algún pequeño fallo:
1. En Pascal el tipo entero sólo llega hasta 32767, por tanto, algunas filas se salen de rango... la solución es usar un tipo mayor, por ejemplo longint.
2. Cuando el dígito que multiplica es un 0, no sacas por pantalla tantos 0's como dígitos tiene el multiplicando, sino que sólo sacas uno...
Mi solución sería la siguiente:
program Multiplicacion (input, output);
var
i, j: integer;
codigo: integer;
digitoActual: integer;
fila: longint;
multiplicando: longint;
multiplicador: longint;
multiplicandoS: string;
multiplicadorS: string;
begin
writeln('Introduzca multiplicando...');
readln(multiplicandoS);
writeln('Introduzca multiplicador...');
readln(multiplicadorS);
val (multiplicandoS, multiplicando, codigo);
val (multiplicadorS, multiplicador, codigo);
writeln(multiplicando);
write('x ');
writeln(multiplicador);
writeln('-----');
for i:=length(multiplicadorS) downto 1 do
begin
val (multiplicadorS[i], digitoActual , codigo);
fila:= multiplicando * digitoActual;
if (fila=0) then
begin
for j:=1 to length(multiplicandoS) do
write('0');
writeln;
end
else
writeln(fila);
end;
writeln('-----');
writeln(multiplicando * multiplicador);
readln;
end.
(edited)
(edited)
En cuanto al código, le veo algún pequeño fallo:
1. En Pascal el tipo entero sólo llega hasta 32767, por tanto, algunas filas se salen de rango... la solución es usar un tipo mayor, por ejemplo longint.
2. Cuando el dígito que multiplica es un 0, no sacas por pantalla tantos 0's como dígitos tiene el multiplicando, sino que sólo sacas uno...
Mi solución sería la siguiente:
program Multiplicacion (input, output);
var
i, j: integer;
codigo: integer;
digitoActual: integer;
fila: longint;
multiplicando: longint;
multiplicador: longint;
multiplicandoS: string;
multiplicadorS: string;
begin
writeln('Introduzca multiplicando...');
readln(multiplicandoS);
writeln('Introduzca multiplicador...');
readln(multiplicadorS);
val (multiplicandoS, multiplicando, codigo);
val (multiplicadorS, multiplicador, codigo);
writeln(multiplicando);
write('x ');
writeln(multiplicador);
writeln('-----');
for i:=length(multiplicadorS) downto 1 do
begin
val (multiplicadorS[i], digitoActual , codigo);
fila:= multiplicando * digitoActual;
if (fila=0) then
begin
for j:=1 to length(multiplicandoS) do
write('0');
writeln;
end
else
writeln(fila);
end;
writeln('-----');
writeln(multiplicando * multiplicador);
readln;
end.
(edited)
(edited)
alguna paginilla buena para descargas de emule? esque hispashare era out of service durante unos dias xDD
bueno es cierto que eso de sumar esta demas solo basta tirar el resultado de la multiplicacion. sin embargo lo use como metodo depurador, para comprobar el resultado final.
lo de los ceros si faltaba :P jaja no me habia dado cuenta :P
pero 11 años sin ver pascal agradece que me acordaba de las funciones :P y de como era el lenguaje :P que despues de pasar por php algo de java VB ya es mucho acodarse de la sintaxis de otro lenguaje :P jaja
lo de los ceros si faltaba :P jaja no me habia dado cuenta :P
pero 11 años sin ver pascal agradece que me acordaba de las funciones :P y de como era el lenguaje :P que despues de pasar por php algo de java VB ya es mucho acodarse de la sintaxis de otro lenguaje :P jaja
Puto Windows vista me ha tenido una puta hora hablando con el PC por microfono como un capullo xD pa al final llegar a la conclusion de que estaba haciendo el tonto xDDDD
Esa conclusión la saqué yo hablando un par de minutos por MSN contigo, ni para eso vale el Vista :P
no, no vale ni para que te des cuenta de lo poco que sabes de informática :P
enfin.. vaya pavo xD mañana empiezo las practicas a ver si me traigo una placa base pa casa xD
y pa q quieres una placa base? para chupar el plomo o para revender la pila? XD
buf... llevandome el portátil por lo visto ha recibido un golpe y el disco duro se movio un poco (cuando lo compre la ranura para el tornillo no coincidia con la ranura de la carcasa); es algo a lo que estoy acostumbrado y simplemente lo voy poniendo, encendiendo y apagando hasta que cojo la postura perfecta...
Pero esta vez no ha sido así, cuando estaba bien conectado y sonaba como debía salía un mensaje en pantalla con el texto "fallo del puerto de disco", como que la misma placa estaba cascada, y tras mucho intentarlo una y otra vez ahora ya ni se me enciende, cuando le doy al botón parpadea un par de veces el indicador de la batería como diciendo "ye, que no quiero funcionar" :S
El portátil no me importa mucho, tiene ya casi casi cuatro años, no puedo programar en lo que quiero por lo vieja que es la gráfica y voy bien de dinero para gastarme 800 euros en uno nuevo, chulo, con ram para dar y regalar que me dure otros cuatro o más... pero si pierdo lo que tengo en el disco me muero, un mes y medio de trabajo a la jodida mierda :'(
Por favor, que alguien me diga que está la placa jodida, que tengo que comprarme uno nuevo...
Pero esta vez no ha sido así, cuando estaba bien conectado y sonaba como debía salía un mensaje en pantalla con el texto "fallo del puerto de disco", como que la misma placa estaba cascada, y tras mucho intentarlo una y otra vez ahora ya ni se me enciende, cuando le doy al botón parpadea un par de veces el indicador de la batería como diciendo "ye, que no quiero funcionar" :S
El portátil no me importa mucho, tiene ya casi casi cuatro años, no puedo programar en lo que quiero por lo vieja que es la gráfica y voy bien de dinero para gastarme 800 euros en uno nuevo, chulo, con ram para dar y regalar que me dure otros cuatro o más... pero si pierdo lo que tengo en el disco me muero, un mes y medio de trabajo a la jodida mierda :'(
Por favor, que alguien me diga que está la placa jodida, que tengo que comprarme uno nuevo...
bueno los datos del disco duro siempre se pueden recuperar no???
Se supone que si no esta estropeado el disco duro por supuesto que se pueden recuperar, por eso dice que quiere que sea la placa la que se haya estropeado porque seria señal de que el HD sigue funcionando....pero no tengo ni idea jano.... :S
A ver si mañana se pasa Dex por aqui y te dice algo...
A ver si mañana se pasa Dex por aqui y te dice algo...
hombre....algo muy malo tenia que haberle pasado al disco duro xa k los datos fuesen irrecuperables:S, a pesar de k este estropeado casi siempre se pueden recuperar los datos
(edited)
(edited)