26/07/2015, 01:32
|
| | | Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 3 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. |