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

Programa que imprima el mínimo y el máximo elemento en un array.

Estas en el tema de Programa que imprima el mínimo y el máximo elemento en un array. en el foro de C/C++ en Foros del Web. Buenas noches, resulta que tengo este problema para desarrollar en C. De un array de 10 elementos introducidos por el usuario, debo imprimir el numero ...
  #1 (permalink)  
Antiguo 23/11/2012, 19:20
 
Fecha de Ingreso: noviembre-2012
Mensajes: 9
Antigüedad: 11 años, 5 meses
Puntos: 0
Programa que imprima el mínimo y el máximo elemento en un array.

Buenas noches, resulta que tengo este problema para desarrollar en C.
De un array de 10 elementos introducidos por el usuario, debo imprimir el numero mayor y menor.
Hasta ahora he logrado imprimir el mayor, pero el menor me tiene con un gran problema. Les muestro lo que llevo, ojalá me puedan ayudar:

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. void main(){
  4.  
  5. int vector[10];
  6. int i;
  7. int mayor=0;
  8.  
  9. for (i=0; i<10; i++){
  10.    printf( "ingrese 10 numeros enteros. Numero %d\n", i+1);
  11.    scanf("%d", &vector[i]);
  12. }
  13.  
  14.  
  15. for (i=0; i<10; i++){
  16.     if (vector[i]> mayor){
  17.     mayor=vector[i];
  18.     }
  19. }
  20. printf("El mayor es %d\n", mayor);
  21. }
  #2 (permalink)  
Antiguo 23/11/2012, 20:08
Avatar de cotolon  
Fecha de Ingreso: octubre-2012
Mensajes: 55
Antigüedad: 11 años, 6 meses
Puntos: 10
Respuesta: Programa que imprima el mínimo y el máximo elemento en un array.

De la misma forma, declaras un menor de tipo int y agregas if (vector[i] < menor) menor = vector[i].

El otro punto es igualar menor y mayor al primer elemento del vector (vector[0]) ya que por ejemplo tomando tu ejemplo mayor es 0.

Pero si el usuario ingresa solamente valores negativos? Solamente mostrará el 0, pero no el mayor de los negativos, de esta forma quedaría mejor:

Código C++:
Ver original
  1. #include <stdio.h>
  2.  
  3. void main(){
  4.  
  5. int vector[10];
  6. int i;
  7.  
  8. for (i=0; i<10; i++){
  9.    printf( "ingrese 10 numeros enteros. Numero %d\n", i+1);
  10.    scanf("%d", &vector[i]);
  11. }
  12.  
  13. int mayor, menor;
  14. mayor = vector[0]; //Le asignamos el primer elemento del array
  15. menor = vector[0]; //Así empezamos a comparar
  16.  
  17. for (i=0; i<10; i++){
  18.     if (vector[i]> mayor){
  19.     mayor=vector[i];
  20.     }
  21.     if (vector[i]< menor){
  22.     menor=vector[i];
  23.     }
  24. }
  25. printf("El mayor es %d\n", mayor);
  26. printf("El menor es %d\n", menor);
  27. }
  #3 (permalink)  
Antiguo 23/11/2012, 21:56
 
Fecha de Ingreso: noviembre-2012
Mensajes: 9
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Programa que imprima el mínimo y el máximo elemento en un array.

Muchas gracias.
Ya lo había resuelto haciendo casi lo mismo que dices, salvo que definí mayor como:
int mayor, menor; sin igualarlos al primer índice del vector, luego comparé

vector[i]>mayor

Al igual con menor.
Resultó.
Muchas gracias.

Etiquetas: elemento, int, programa
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 08:18.