elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 02:58  


Tema destacado: Grupo de Facebook de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Programa ordenar numero mayor/menor
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa ordenar numero mayor/menor  (Leído 28,558 veces)
eipock

Desconectado Desconectado

Mensajes: 63


Ver Perfil
Programa ordenar numero mayor/menor
« en: 11 Noviembre 2008, 23:57 »

Alguien me puede dar una pista como hacer un programa que en base a una serie de numeros introducidos por el usuario, vea cual es el numero mayor o el numero menor de todos los introducidos
NO quiero que me den todo el codigo, pero si una pista con que funcion tendria que utilizar.
Es que no consigo encaminarme para hacerlo.
Gracias y un saludo


« Última modificación: 12 Noviembre 2008, 16:35 por eipock » En línea
Flakito81


Desconectado Desconectado

Mensajes: 508



Ver Perfil
Re: Programa ver numero mayor/menor
« Respuesta #1 en: 12 Noviembre 2008, 01:05 »

Si los numeros estan en un vector tan solo es tener dos variables mayor y menor que tomaran el valor del primer elemento del vector y desde el segundo hasta el final del vector si el valor leido(el valor que ocupa la posicion i-esima en nuestro vector) es menor que el valor de nuestra variable menor se actualiza con el nuevo valor, si el valor leido es mayor que el valor de nuestra variable mayor se actualiza. Al final la variable mayor tendra el mayor de todos los valores y menor el menor de todos los valores.

Si no trabajascon un vector, tienes que tener dos variables (menor y mayor). menor la inicializas con un valor muy grande que dependerá del tipo de dato (int, float, double) y mayor lo inicializas con el menor valor posible que dependera del tipo de dato con el que trabajes. Luego vas introduciendo los valores y si el valor introducido es menor que el valor que almacena nuestra variable menor se actualiza y si el valo introducido es mayor que el valor que almacena nuestra variable mayor se actualiza. Al final la vble menor tendra el menor valor de todos y la mayor el mayor valor. La inicializacion inicial es para forzar que se actualizen las variablescon el primer valor introducido, para los siguientes se opera teniendo en cuenta los valores introducidos.

Ciao!

PD: Si buscaras en el foro encontrarias post con el mismo tema 


« Última modificación: 12 Noviembre 2008, 01:07 por Flakito81 » En línea
VirucKingX


Desconectado Desconectado

Mensajes: 540


VirucKingX


Ver Perfil
Re: Programa ver numero mayor/menor
« Respuesta #2 en: 12 Noviembre 2008, 03:07 »

hay varios algoritmos de ordenamiento, te aconsejo el de la burbuja es el mas simple de entender. Despues hacelo con el metedo de cartas el cual es un 50% mas rapido.

PD = esa es la pista, ojala logres hacerlo, sino postea.

Chau
En línea



Bye
Flakito81


Desconectado Desconectado

Mensajes: 508



Ver Perfil
Re: Programa ver numero mayor/menor
« Respuesta #3 en: 12 Noviembre 2008, 11:12 »

Cúal es el método de cartas? kizas tengamos diferentes nombres.

Si se trabaja con un vector de números sería útil tenerlos ordenados (y recomendable si se quiere ir un paso por delante que el resto de clase) para las busquedas, pero si lo único que quiere es saber el menor y el mayor quizas no sea tan importante y menos si  la ordenacion tiene una complejidad O(n^2) frente a la busqueda que sólo ha de hacer una pasada O(n).

Un saludo!
En línea
eipock

Desconectado Desconectado

Mensajes: 63


Ver Perfil
Re: Programa ver numero mayor/menor
« Respuesta #4 en: 12 Noviembre 2008, 14:48 »

Despues de bastantes comeduras de cabeza y de pruebas porfin lo he conseguido XDD lo he hecho por el metodo de la burbuja.
Aqui os dejo el codigo por si a alguien le interesa...
He  definido size (osea el numero de elementos) al principio asi con tal solo modificar el 5 por el numero que se quiera, serian los numeros que se quieren comparar.

He modificado el codigo otra vez para que los ordene de mayor a menor y de menor a mayor.

Código:
#include <stdio.h>
#define size 5
void main(void)
  {
  int vector[size];
  int menor,mayor,temporal;
  printf("Introduce los %d valores para ordenar:\n",size);
  for(mayor=0; mayor<size; mayor++)
  {
  printf("[Nº%d]: ",mayor+1);
  scanf("%d", &vector[mayor]);
  }
  for(mayor=0; mayor<(size-1); mayor++)
  {
for (menor=mayor+1; menor<size; menor++)
{
  if(vector[menor]<vector[mayor])
{
temporal=vector[menor];
vector[menor]=vector[mayor];
vector[mayor]=temporal;
}
}
  }
  printf("Los numeros ordenados de menor a mayor quedarian:\n");
  for(mayor=0; mayor<size ; mayor++)
{
printf("%d ", vector[mayor]);
}
  printf("\nLos numeros ordenados de mayor a menor quedarian:\n");
  for(menor=size-1; menor>=0 ; menor--)
{
printf("%d ", vector[menor]);
}
  mayor=vector[size-1];
  menor=vector[0];
  printf("\nEl numero mayor es %i",mayor);
  printf("\nEl numero menor es %i",menor);
  }
« Última modificación: 12 Noviembre 2008, 15:24 por eipock » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines