Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/07/2015, 01:32
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: Array, llenar con numeros aleatorios y buscar uno.

Sí... y mucho. Por empezar a que estas haciendo mal lo de los indices del array. En C/C++ se empieza a contar de cero, y se termina en MAX-1 seria algo así

#define MAX 5

int main(){

int array[MAX];
....

Ahora veamos... Si se cuanta desde cero a MAX-1, seria 0, 1, 2, 3 y 4. ¿Cuantos números son? ¿5?¿6?
El ejemplo en for seria:

for( i=0; i < MAX; i++){ // i<MAX es lo mismo que i menor que MAX

array[i]=(rand()%20)+1;
}

//como ves debes detenerte antes de MAX y no cuando se i <= MAX por que si no va acontecer que hemos reservado 5 casillas y rellenamos 6 (0, 1, 2, 3, 4, 5. ¿Seis no?), o sea nos hemos salido de rango. ¡Muy malo eso eh! Empieza por entender mejor los indices de los arrays.

i<=MAX va hacer que for continúe trabajando mientras i sea menor o igual, en ese caso como incrementas tu indice s de uno en uno va parar justo cuando s sea 20 pero debería parar cuando s fuera 20-1, o sea 19. cambie esos <= por < o te va a salir de rango en todos los for.