FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con matrices que no logro resolver
Hola,
recien me paso un amigo unos problemas en los que tenia dudas, y hay uno particularmente que no he logrado resolver. es algo sencillo pienso, lo que ya mi cabeza parece que no genera mas por el dia de hoy y no logro que salga... dice asi: Declare 2 matrices para: 1 - en la primera se almacenen los 10 primeros numeros naturales, empezando desde 0. 2 - en la segunda se almacene el valor del factorial del numero incluido en la misma posicion de la primera matriz. ej: si tenemos que en la posicion 3 de la primera matriz se guarda el valor 3, en la posicion 3 de la segunda matriz estara el factorial de 3 que es 6 factorial(5):= 1*2*3*4*5= 120 Obviamente pienso que hay que usar los valores de la primera matriz en la segunda, pero ocurre un error en los resultados por como estoy usando el bucle, pero no encuentro como hacerlo.. a lo mejor hay un error en el enunciado.. espero puedan ayudarme con esto... gracias por las sugerencias.. |
#2
|
|||
|
|||
Hola, galmacland.
Creo que este código hace lo que indicas: El uso del tipo double es por si el valor del factorial se hace mayor que el mayor valor admitido a un entero. Function Factorial(n:Integer): Double; var k:Integer;begin f:=1;end; procedure Calcular; var m1:Array[0..9] of integer;begin for k:=0 to 9 doend;beginm1[k]:=k;end; Saludos. |
#3
|
|||
|
|||
Graciaspor tu ayuda, se como hacerlo con funciones, el caso es que no me funciona usando las 2 matrices, sin usar las funciones, el caso es que es un manual con ejercicios y no ha llegado a la parte de las funciones....
|
#4
|
||||
|
||||
supongo que algo asi te podria funcionar, no lo he provado pero me parece que si funciona. Aunque creo que por el hecho de iniciar de "0" es posible que todos los resultados sena "0" saludos. |
#5
|
||||
|
||||
No lo probe pero deberia ser algo asi:
Última edición por seoane fecha: 18-06-2006 a las 02:21:37. |
#6
|
||||
|
||||
galmacland:
Cita:
Modificando el código de seoane //Nota: No lo he probado
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). Última edición por OSKR fecha: 18-06-2006 a las 17:04:53. |
#7
|
|||
|
|||
Una pequeña modificación al algoritmo de galmacland
var i: integer; m1, m2: array[0..10] of Cardinal; begin m1[0]:=0; m2[0]:=1; for i:= 1 to 10 do begin m1[i]:= i; m2[i]:= m2[i-1] * i; end end; ... no requiere el if y ahorra un ciclo. Con recursividad es un poco más elegante. |
#8
|
||||
|
||||
Innovacl:
Cita:
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). |
#9
|
||||
|
||||
Cita:
|
#10
|
||||
|
||||
seoane:
Cita:
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). |
#11
|
|||
|
|||
lo que sucede con lo que haceis con el factorial es que lo haceis mal no se pone un for despues sino un while y multiplicar quitando a la posicion en que se encuentra hasta que sea uno,quedaria algo asi:
var i,fact,n: integer; m1, m2: array[1..10] of Cardinal; begin m1[1]:= 1; m2[1]:=1; fact:=1; for i:= 2 to 10 do begin m1[i]:= i; n:=i; while n>=1 do begin fact:=fact*n; n:=n-1; end; m2[i]:= fact; fact:=1; end; end; |
#12
|
||||
|
||||
raulmm26:
Cita:
Estás usando 2 ciclos..los anteriores algoritmos funcionan al pelo (eso creo) y además....: Código:
m1[1]:= 1; Mejor hago caso a lo q dijo seoane: Cita:
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como logro consultas desde clientdatset y SqlQuery | Arturo | Conexión con bases de datos | 0 | 22-05-2006 16:41:09 |
que necesito resolver problema. | evgoab | SQL | 5 | 12-03-2005 02:19:53 |
no logro ver datos reales de una bd de informix | picapica | Conexión con bases de datos | 0 | 08-12-2004 22:27:52 |
Como logro la suma por grupo | alcides | SQL | 2 | 19-07-2004 21:11:06 |
No logro que funcionen un FOREIGN KEY | orfeo | MySQL | 2 | 16-07-2003 19:52:58 |
|