Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/12/2013, 08:36
Dempo87
 
Fecha de Ingreso: octubre-2013
Ubicación: Murcia
Mensajes: 54
Antigüedad: 10 años, 6 meses
Puntos: 0
Array (coger un numero y compararlo con el resto)

Tengo una duda sobre los arrays. Si creo un array con 10 posiciones, y cada una se llena con numeros introducidos por el usuario, ¿puedo coger un numero de ese array y compararlo con el resto de la forma que os pongo abajo?

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.     int num[10];
  7.    
  8.     printf ("\n Introduce el primer numero: ");
  9.     scanf ("%d", &num[0]);
  10.     printf ("\n Introduce el segundo numero: ");
  11.     scanf ("%d", &num[1]);
  12.     printf ("\n Introduce el tercer numero: ");
  13.     scanf ("%d", &num[2]);
  14.     printf ("\n Introduce el cuarto numero: ");
  15.     scanf ("%d", &num[3]);
  16.     printf ("\n Introduce el quito numero: ");
  17.     scanf ("%d", &num[4]);
  18.     printf ("\n Introduce el sexto numero: ");
  19.     scanf ("%d", &num[5]);
  20.     printf ("\n Introduce el septimo numero: ");
  21.     scanf ("%d", &num[6]);
  22.     printf ("\n Introduce el octavo numero: ");
  23.     scanf ("%d", &num[7]);
  24.     printf ("\n Introduce el noveno numero: ");
  25.     scanf ("%d", &num[8]);
  26.     printf ("\n Introduce el decimo numero: ");
  27.     scanf ("%d", &num[9]);
  28.    
  29.     if (num[0] > num[10]) printf ("\n El numero %d es el mayor de todos\n\n\n\n", num[0]);
  30.     if (num[1] > num[10]) printf ("\n El numero %d es el mayor de todos\n\n\n\n", num[1]);
  31.     if (num[2] > num[10]) printf ("\n El numero %d es el mayor de todos\n\n\n\n", num[2]);
  32.     if (num[3] > num[10]) printf ("\n El numero %d es el mayor de todos\n\n\n\n", num[3]);
  33.     if (num[4] > num[10]) printf ("\n El numero %d es el mayor de todos\n\n\n\n", num[4]);
  34.     if (num[5] > num[10]) printf ("\n El numero %d es el mayor de todos\n\n\n\n", num[5]);
  35.     if (num[6] > num[10]) printf ("\n El numero %d es el mayor de todos\n\n\n\n", num[6]);
  36.     if (num[7] > num[10]) printf ("\n El numero %d es el mayor de todos\n\n\n\n", num[7]);
  37.     if (num[8] > num[10]) printf ("\n El numero %d es el mayor de todos\n\n\n\n", num[8]);
  38.     if (num[9] > num[10]) printf ("\n El numero %d es el mayor de todos\n\n\n\n", num[9]);
  39.  
  40.   system("PAUSE"); 
  41.   return 0;
  42. }

Cita:
No me funciona bien, si pongo el mismo valor a todos excepto a uno, el programa si hace lo que quiero, pero cuando hay mas de 2 valores distintos, ya da fallos como la de mostarme dos numeros mayores o mas.
El ejercicio a priori es simple:

- Pide al usuario que introduzca 10 numeros y estos se almacenan en el array. Despues muestra en pantalla el mayor de esos 10 numeros (si no son todos iguales). Es muy posible que mi plantamiento no sea el correcto, pero con lo expuesto, solo quiero saber que estoy haciendo mal o que estoy pasando por alto.