• Viernes 3 de Mayo de 2024, 13:51

Autor Tema:  Re: Obtener el numero mayor entre varios  (Leído 2154 veces)

I3ender

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Obtener el numero mayor entre varios
« en: Viernes 13 de Junio de 2003, 04:26 »
0
Bueno, soy muy muy nuevo en esto y me estoy leyendo un curso de C++ el caso que llego a un punto que ya me dice de hacer ejercicio pues bien uno de ellos es hcar un array y poder escribir 10 numeros desde el teclado , calcular la suma de esos numeros la mitad y obtener el mayor y menor de los 10 numeros, el programa hasta obtener la mitad del valor lo tengo programado y funcionando pero no se como hacer para que mira cual es el numero mayor supongo que habra que hacer 2 bucles o 1 pero la verda ando muy perdido habe si me podeis echar una mano

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Obtener el numero mayor entre varios
« Respuesta #1 en: Viernes 13 de Junio de 2003, 15:06 »
0
bueno estas aprendiendo y no deberias hacer estas apreguntas, porque se supone que lo debes resolver tu mismo..intenta hacer lo que se te ocurra, y prueba , pero si te equivocas, pues adivina... vuelve a intentar algo diferente.. asi es como se aprende, mi consejo es que si quieres aprender muy bien a programar , tengas mucha pasciencia y dedicacion, sabes asi te tomes dos fines de semana  en algo realmente sencillo, sera muy productivo porque vas a aprender no solo a hacerlo sino que vas a desarrollar tu mente para programar  cada vez cosas mas complicadas.. termina uno volviendose inteligentisisisimo..
eso es un excelente entrenamiento, yo se porque te lo digo.

Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

I3ender

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Obtener el numero mayor entre varios
« Respuesta #2 en: Sábado 14 de Junio de 2003, 08:26 »
0
if (Num[0] > Num[1])
    a = Num[0];
    else
    a = Num[1];
 if (Num[2] > Num[3])
    b = Num[2];
    else
    b = Num[3];
 if (Num[4] > Num[5])
    c = Num[4];
    else
    c = Num[5];
 if (Num[6] > Num[7])
    d = Num[6];
    else
    d = Num[7];
 if (Num[8] > Num[9])
    e = Num[8];
    else
    e = Num[9];
 if (a > b)
    f = a;
    else
    f = b;
 if (c > d)
    g = c;
    else
    g = d;
 if (f > g)
    h = f;
    else
    h = g;
 if (h > e)
    CalcMayor = h;
    else
    CalcMayor = e;

algo asi es lo que se me ha ocurrido y funcionar funciona pero es muy extenso y no consigo hacer nada con bucles por que aun asi son 9 comparaciones lo que tengo que hacer y paciencia le echo pero despues de 2 horas con lo mismo ya cansa jejejejejeje asias por el consejo:)

dmantil

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Obtener el numero mayor entre varios
« Respuesta #3 en: Sábado 14 de Junio de 2003, 17:43 »
0
El algoritmo que has hecho efectivamente funciona y como un comienzo esta muy bien pues lo has logrado solo...Hay muchas formas de encontrar el mayor y si quieres algun algoritmo de busqueda con un bucle intenta una comparcion que pueda ser mas repetitiva, de esa manera luego encuentras el patron y puedes ponerlo en un ciclo que servira no solo para 10 sino para el numero de datos que quieras. El procedimiento que usas es algo así:
*  *  *  *  *  *  *  *  *  *
  /     /      /      /     /
  *     *       *      *      *
      /              /         |    
     *              *           *
                /        
             *  
                               /
                         *
Ves que no tiene un patron facil de encontrar...que tal si usas algo así:

*  * * * *
  /
  *
     /
     *
        /
        *
          /
          *
Ves, el patrón es mas sencillo de encontrar....
Bueno, intenta eso...
Espero te sirva!
Suerte

I3ender

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Obtener el numero mayor entre varios
« Respuesta #4 en: Domingo 15 de Junio de 2003, 06:34 »
0
for ( a = 0; a <= 16; a = a + 2)
 for ( x = 1; x <= 17; x = x + 2)
 for ( c = 10; c <= 18; c++)
 if (Num[a] > Num
  • )

    Num[c] = Num[a];
 else
    Num[c] = Num
  • ;



Bueno almenos esta mucho mas simplificado y "funciona" lo pongo entre comillas por que con cierta combinacion no funciona y la verda es que no encuentro explicacion, explico el codigo un poco por que parece algo liado:
bueno como veis el primer bucle me da numeros pares el tercero numeros impares y el tercero de 10 a 18,
lo que hago con esto es que vaya incrementando los num para comparar el primero con el segundo etc etc
0>1=10
2>3=11
4>5=12
6>7=13
8>9=14
---------- Hasta aqui comparo los 10 numeros introducidos desde el teclado
10>11=15
12>13=16
14>15=17
16>17=18 <--- este seria el numero mayor por logica ( o eso creo )
---------- Aqui sigue comparando las comparaciones ya echas ( es muy lioso lo se )

Bueno digo que funciona a medias por que funcionar funciona me da el numero correcto pero si meto ciertas combinaciones como por ejemplo esta 1,3,5,7,9,8,6,4,2,0 me dice que el mayor es el numero "8" y ni idea de por que con otras funcionan , en fin

PD: Estoy aprendiendo y se que esto es de risa estos codigos jejejejej pero me siento bien al ver que almenos funciona:P :hippi:

I3ender

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Obtener el numero mayor entre varios
« Respuesta #5 en: Lunes 16 de Junio de 2003, 02:55 »
0
Bueno, por fin he echo algo decente! aun que se que e un ejercicio y es simple yo me siento bien:) os pongo el codigo por si quereis echarle un ojo y darme consejillos de como poder mejorarlo o si es correcta su programacion:)

PD: la verda que era simple de hacer, pero solo era darle vueltas al coco , gracias nuevamente:)
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

carmamezo

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
Obtener el numero mayor entre varios
« Respuesta #6 en: Sábado 21 de Junio de 2003, 12:53 »
0
A ver que te parece la modificación que he realizado sobre tu programa... (no hay grandes cambios...)
Si admites un consejo deberías empezar a reducir el número de variables que utilizas (por ejemplo el contador en los bucles "for" puede ser el mismo siempre y cuando no estén anidados), en este tipo de programas no tendrás problemas pero cuando empiezes a utilizar listas, pilas o colas (deberás tener en cuenta el uso de la memoria).
Te felicito porque como primer programa lo has luchado tú sólo y eso vale mucho.:good:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
No hay tonto más molesto que el ingenioso.