Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: kozlak92 en 21 Noviembre 2012, 04:04 am



Título: Ayuda
Publicado por: kozlak92 en 21 Noviembre 2012, 04:04 am
Hola a todos quisiera que me ayduaran tengo problemas con un pequeño programa que no entiendo porque no me imprimer los datos del arreglo, me urge un poco

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>

main(){
       int i,busqueda[10];
       
       srand(time(NULL));
       
       for(i=0;i++;i<=9){
       busqueda= rand() % 60 + 1;}
       
       printf("El arreglo es: \n");
       
       for(i=0;i++;i<=9)
       printf("%d \t",busqueda);
       
       printf("Que metodo de busqueda desea elegir: ");
       
       system("pause");
       }


Título: Re: Ayuda
Publicado por: Ferno en 21 Noviembre 2012, 06:10 am
Antes que nada, el code va dentro de las etiquetas GeSHi.

El problema evidente es que al asignar valores, no especificas cada posición del arreglo correctamente:

Código
  1. for(i=0;i++;i<=9){
  2.       busqueda[i]= rand() % 60 + 1;
  3. }

Lo mismo al imprimir, debes especificar la posición del arreglo que deseas ver!

Código
  1. for(i=0;i++;i<=9)  printf("%d \t",busqueda[i]);

Otra pregunta, ¿Para qué incluyes la librería conio.h? No es recomendable!
Pasate por acá: http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html


Título: Re: Ayuda
Publicado por: rir3760 en 21 Noviembre 2012, 19:26 pm
El problema evidente es que al asignar valores, no especificas cada posición del arreglo correctamente
Si lo hace pero al no utilizar la etiquetas de código (debería, supongo esta en las reglas de los foros) en su lugar aparece el texto en cursiva.

El porque no se ejecutan los bucle se debe a la condición e incremento de cada uno (estan al reves). Por ejemplo el ultimo:
Código
  1. for (i = 0; i++; i <= 9)
  2.   printf ("%d \t", busqueda[i]);
Ello debido a que el resultado de la expresión "i++" es cero.

Debería ser:
Código
  1. for (i = 0; i <= 9; i++)
  2.   printf ("%d \t", busqueda[i]);
Mismo caso con el otro bucle.

Un saludo


Título: Re: Ayuda
Publicado por: Ferno en 21 Noviembre 2012, 20:04 pm
Wo! Me pasa por copiar su código :/ Se me pasó por alto ver las condiciones del for!