crinfo Posted September 28, 2010 Report Share Posted September 28, 2010 (edited) hola amigos del foro.. les quiero pedir un favor gigantesco.. como puedo generar un arreglo en php dinamico.. es decir, por ejemplo si el usuario ingresa un num 12, me genera un array de 12 elementos con enteros aleatorios (4-6-2-7-1-11-12-10-7-4-8-4), y eso quede guardado en un arreglo.. porq despues de eso q me lo genere necesito ordenarlo de menor a mayor por un algoritmo q tengo.. pero para eso necesito pasarle el array. el algoritmo de ordenamiento es este: algoritmo insercion( A : array de n elementos indizados de 1 a n) variables: enteros i, j, v //estas son las pasadas, desde 2 hasta n //en cada una intentaremos encontrar la posición //relativa del elemento i entre los anteriores para i desde 2 hasta n //tomamos el elemento a examinar en una variable //temporal v v=A //empezamos a comparar con los anteriores. j=i-1 //en este bucle intentamos saber cual es su //lugar y le vamos haciendo hueco mientras (j>=1) Y (A[j]>v) hacer //desplazamos el elemento A[j] A[j+1]=A[j] j=j-1 fin mientras A[j+1]=v fin para fin algoritmo porfa si alguien me puede ayudar.. q hice algo pero no me funciona... lo q hice fue q en el archivo index.php.. recuperara el valor del porte del arreglo.. con un input type name datos.. por ejemplo si el usuario ingresaba 10. por el metodo post recuperaba ese valor y lo llevaba a un for. for( $i = 0 ; $i < $_POST["datos"]; $i++ ) { $d = rand(1,$_POST["datos"]); echo $d."-"; pero despues nose como recuperar ese arreglo para ordenarlo.. algunos me dijeron que con eso solo los mostre pero no genere un arreglo.. entonces como formo un arreglo?.. para despues recuperarlo y ordenarlo? otra cosa hay alguna funcion de php que me contabilize el tiempo que se demoro en arreglar el arreglo q se genero? pucha ojala me puedan ayudar que ya genere algo asi anteriormente pero lo q me respondieron quede plop xD saludoss y grax.. grax.. pucha ahora tengo otro drama.. xd.. nose si se puede solucionar en php.. sino obligado a hacer en otro lenguaje lo q pasa q el profe me pidio hacerlo hasta con 100 mill de datos xd.. onda q me ordene un array.. eso see me dijo q ibas a tar como 1 semana trabajando el PC.. onda si el usuario ingresa 50000.. me genera un array de 50000 elementos y me lo ordena. pero el punto si ingreso por ejemplo 50000.. me tira el siguiente error: Fatal error: Maximum execution time of 60 seconds exceeded in C:\AppServ\www\insercion\procesa.php on line 12 entonces nose si se puede solucionar eso.. sino obligado a intentar hacerlo en otro lenguaje C.. supungo q se podra porfa si me pueden ayudar.. y que me recomiendan.. ahh y si le tiro 1mill de datos me tira este error Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 34 bytes) in C:\AppServ\www\insercion\procesa.php on line 32 saludos Edited October 1, 2010 by crinfo Link to comment Share on other sites More sharing options...
Dragonute Posted October 3, 2010 Report Share Posted October 3, 2010 aer si mi humilde ayuda te puede orientar un poco cuando tienes esto for( $i = 0; $i < $_POST["datos"]; $i++ ) { $d = rand(1,$_POST["datos"]); echo $d."-"; lo que haces no es guardar los numeros aleatorios en un arreglo solo los asignas a una variable , la muestras, luego vuelves a asignarle un valor a la variabble, muestras...... Por ejemplo: la cantidad de datos, se la asignas al tamaño de un arreglo, y luego donde vas recorriendo el for los vas agregando => $d[$i] = rand(1,$_POST["datos"]); C:\AppServ\www\insercion\procesa.php on line 12 C:\AppServ\www\insercion\procesa.php on line 32 En estos 2 te indica que en esas lineas del archivo hay errores tendrias que indicar que tienes escrito para ver como solucionar esos problemas. Lo del problema del tiempo excedido es problema de php que por defecto tiene un tiempo limite para realizar las solicitudes las soluciones por lo que encontre podrian ser 1) Cambiar en php.ini max execution time 2) escribir al inicio de la pagina set_time_limit(0) Si lo quieres en modo global lo puedes escribir encima al fichero Comon.php Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now