Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Bariable me da problema

Estas en el tema de Bariable me da problema en el foro de C/C++ en Foros del Web. Hola amigo tengo un problema con este programa. Trato de hacer que de 5 numero leido me tire el mayo y el menor de esos ...
  #1 (permalink)  
Antiguo 06/11/2012, 17:18
Avatar de domix  
Fecha de Ingreso: noviembre-2012
Mensajes: 18
Antigüedad: 11 años, 5 meses
Puntos: 0
Bariable me da problema

Hola amigo tengo un problema con este programa. Trato de hacer que de 5 numero leido me tire el mayo y el menor de esos numero. Tengo claro eso pero no se por que hay una bariable osea (men) me esta cogiendo siempre un valor y es dos trate de ponerle 0 pero entonces si le pongo cero no me tirara cual es el numero menor d elos leidos por que no habra uno menor de ellos a menos que sea - :s entonces quiero saber por que ese 2 siempre se le agrega a solo a la bariable menor aki les dejo el codigo para que vean cual es el error muchas grax de ante mano. :D

Código C++:
Ver original
  1. #include<stdio.h>
  2. #include<conio.h>
  3.  
  4. main ()
  5.  
  6. {
  7.  
  8. int n, may=0, men, i=0;
  9.  
  10. for (i=1; i<=5; i++){
  11. printf("Introdusca el numero:"); scanf("%d", &n);
  12.  
  13. if (n>may){
  14. may = n;
  15.  
  16. }
  17. if (n<men){
  18. men = n;
  19.  
  20. }
  21. }
  22. printf("\nEl numero mayor es: %d", may);
  23. printf("\nEl numero menor es: %d", men);
  24.      
  25. }
  #2 (permalink)  
Antiguo 06/11/2012, 18:07
Avatar de cotolon  
Fecha de Ingreso: octubre-2012
Mensajes: 55
Antigüedad: 11 años, 5 meses
Puntos: 10
Respuesta: Bariable me da problema

Eso es porque cuando ingresas las 5 variables por consola, solo te agarra el último valor
lo que podrías hacer es un array. Ej:

Código C++:
Ver original
  1. int n[5]

arreglar en for, ya que el array comienza en 0:

Código C++:
Ver original
  1. for (i=0; i<5; i++)
  2. {
  3. printf("Introdusca el numero:"); scanf("%d", &n[i]);}

Y una vez escaneado ya los 5 números. Realizas otro for para chequear el mayor y menor:
Código C++:
Ver original
  1. for (i=0; i<5; i++)
  2. {
  3. if (n[i]>may){
  4. may = n;
  5. }
  6. if (n[i]<men){
  7. men = n;
  8. }
  9. }

En resumen colocar solo "int n" es que la variable n solo toma un valor, independiente de cuantos agregues. Si quisieras que tome 5 sería n1,n2,n3,n4,n5 (aunque no podrias poner un for y luego el scanf con un "ni" eso no se puede xd). Para no crear tantas variables creas un array de 5 elementos n[5], comenzando de n[0]...n[4] y eso te guarda las 5 variables distintas. Y una vez escaneadas empiezas a ver cual es mayor o menor. para acceder a cada una con el for es un n[i] (i es el "contador" del for)
  #3 (permalink)  
Antiguo 06/11/2012, 18:19
Avatar de domix  
Fecha de Ingreso: noviembre-2012
Mensajes: 18
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Bariable me da problema

hola grax por la aclaracion, cotolon y como podria declarar las otras bariables que tipo me gustaria saber eso... ya que no soy muy bueno en cuanto a eso no se me da mucho de como declarar las bariables, ya que no me ee leido bien como declararla. por que me da error si no declaro las otras bariable

Última edición por domix; 06/11/2012 a las 18:32
  #4 (permalink)  
Antiguo 06/11/2012, 18:36
Avatar de cotolon  
Fecha de Ingreso: octubre-2012
Mensajes: 55
Antigüedad: 11 años, 5 meses
Puntos: 10
Respuesta: Bariable me da problema

Primero falto arreglar una parte aquí, me comí los [i] xd:

Código C++:
Ver original
  1. for (i=0; i<5; i++)
  2. {
  3. if (n[i]>may){
  4. may = n[i];
  5. }
  6. if (n[i]<men){
  7. men = n[i];
  8. }
  9. }


Cuando declaras un Array Puedes hacerlo de varias formas, pero las más comunes son estas:

Código C++:
Ver original
  1. int arr[7]; //7 elementos (0 .. 6)que solo pueden contener valores de int
  2.  
  3. char arr2[4]; //4 elementos (0..3) que solo puede contener valores char ('a', ' ','1', 'B')
  4.  
  5. int arr3[] = {4, 5, 2, 9, 3}; //Array de 5 elementos (0..4)

Y para acceder a un elemento sería arr[0] .. arr[6] por ejemplo, generalmente se usa el for para poder indicar el valor de cada elemento del array, o también para buscar el mayor y menor en tu caso.
  #5 (permalink)  
Antiguo 06/11/2012, 18:47
Avatar de domix  
Fecha de Ingreso: noviembre-2012
Mensajes: 18
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Bariable me da problema

ufff muchas grax. brother me has ayudado bastante sii poreso era que me daba error por que falta que me ingresara el valor que ya tenia el array en este caso i.. :D bueno ahora entiendo mejor para que sirbe el array y veo que no puedo usar el for y comparar los datos de inmediato ya que solo estaba agarrando el ultimo valor.. :D millll Grax. ^_^

Etiquetas: bariable, mayor, menor, numero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:24.