Comunidad Underground Hispana  

Retroceder   Comunidad Underground Hispana > Programacion > Carbide C/C#/C++


Tema Cerrado Crear Nuevo Tema
 
Compartir en twitter LinkBack Herramientas Desplegado
Antiguo 20-dic-2009, 16:07   #1
Novato
 
Fecha de Ingreso: septiembre-2009
Amigos 0
Mensajes: 46
Gracias: 0
Agradecido 1 vez en 1 mensaje.
Predeterminado [Solucionado] [C] Ayuda calcular mediana

Buenas tengo un problemática con este código, se me pide calcular la mediana aritmética de un arreglo llenado de forma aleatoria.
el programa compilar perfectamente solo que no me imprime cual es la mediana :-[

Código:
//Prototipo de cabecera
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define TAMANO 10

//Prototipo de funciones
void llenar_random();
void burbuja();
void mediana();


//Variables globales
int array[TAMANO];

main(){
	 int i;
	 llenar_random();
	 burbuja();
	 for(i = 0; i < TAMANO; i++){
		 printf("%d\t", array[i]);
		 if((i+ 1) % 10 == 0){
			  printf("\n");
		 }
	 }
	 mediana();
	 
}


//Declaracion de funciones
void llenar_random (){
	int i;
	srand(time(NULL));
	
	for (i = 0; i< TAMANO; i++){
		array[i] = rand() % 1000;
	}
}

void burbuja(){
	 int i, j, aux = 0, x;
	 printf("\n");
	 for (i = 0; i < TAMANO; i++){
		 x = 0;//luego de cada vuelta x vale 0
		 for (j = 0; j < TAMANO - (i + 1); j++){
			  
			  if (array[j] > array[j + 1]){//si la variable en la posicion i es mayor a la variable en la posicion i+1(osea el siguiente elemento del arreglo) se intercambian
				  aux = array[j];
				  array[j] = array[j + 1];
				  array[j + 1] = aux;
				  x++;//si se hace algun intercambio x aumenta su valor
			  }
		 }
		 if (x == 0){//si en ningun momento se hacen intercambios (osea q x no aumenta su valor) salimos del ciclo, pues ya esta ordenado
			  break;
		 }
	 }
}
/*Esto lo hize iniciando i=0 y j=TAMANO-1, luego voy aumentado i y restando j para encontrar cuando i==j (osea que se llego a el valor que se encuentra en la mitad del arreglo, o cuando i+1==j que son cuando los valores son colindantes osea que son los dos valores medios del arreglo*/
void mediana (){
	 int i = 0, j;
	 j = TAMANO - 1;
	 
	 while(i <= j){
		 if (i == j){	
			  printf("La mediana es:\t%d",array[i]);
		 }
		 else if(( i +1 ) == j){
			  printf("Las medianas son:\t%d y %d", array[i], array[j]);
		 }
		 i++;
		 j++;
	 }
	 return;
}
  
Espero que me ayuden a conseguir el error, que seguro es una tonteria. xD
kndidox está desconectado  
Antiguo 20-dic-2009, 16:28   #2
Moderador
 
Avatar de Fashion
 
Fecha de Ingreso: junio-2007
Amigos 4
Mensajes: 2.056
Gracias: 55
Agradecido 840 veces en 327 mensajes.
Predeterminado Re: [C] Ayuda calcular mediana


En la función void mediana () reemplaza:
Código:
j++;
  
Por:
Código:
j--;
  
__________________

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

Fashion está desconectado  
Antiguo 20-dic-2009, 16:49   #3
Novato
 
Fecha de Ingreso: septiembre-2009
Amigos 0
Mensajes: 46
Gracias: 0
Agradecido 1 vez en 1 mensaje.
Predeterminado Re: [C] Ayuda calcular mediana

gracias fashion! jejeje...
una pregunta! tienes alguna funcion hecha para calcular la moda aritmetica?
kndidox está desconectado  
Antiguo 20-dic-2009, 17:56   #4
Moderador
 
Avatar de Fashion
 
Fecha de Ingreso: junio-2007
Amigos 4
Mensajes: 2.056
Gracias: 55
Agradecido 840 veces en 327 mensajes.
Predeterminado Re: [C] Ayuda calcular mediana

Cita:
Iniciado por kndidox
gracias fashion! jejeje...
una pregunta! tienes alguna funcion hecha para calcular la moda aritmetica?
Existe un ejemplo mas detallado en los siguientes libros:

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

-> Arreglos en C -> Pagina 199

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

-> Arreglos -> Pagina 278
__________________

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

Fashion está desconectado  
Antiguo 20-dic-2009, 21:02   #5
Novato
 
Fecha de Ingreso: septiembre-2009
Amigos 0
Mensajes: 46
Gracias: 0
Agradecido 1 vez en 1 mensaje.
Predeterminado Re: [C] Ayuda calcular mediana

Gracias fashion! ya hice el ejercicio completo, me sirvieron de mucho esos links jejeje, por casualidad sabes donde puedo descargar esos archivos en .pdf?
kndidox está desconectado  
Antiguo 27-dic-2009, 17:27   #6
Moderador
 
Avatar de Fashion
 
Fecha de Ingreso: junio-2007
Amigos 4
Mensajes: 2.056
Gracias: 55
Agradecido 840 veces en 327 mensajes.
Predeterminado Re: [C] Ayuda calcular mediana

Cita:
Iniciado por kndidox
Gracias fashion! ya hice el ejercicio completo, me sirvieron de mucho esos links jejeje, por casualidad sabes donde puedo descargar esos archivos en .pdf?
Puedes encontrarlo en el siguiente link:

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

__________________

[Solo usuarios registrados pueden ver los links. REGISTRARSE]

Fashion está desconectado  
Tema Cerrado

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks están Activado
Pingbacks están Activado
Refbacks están Activado



Temas Similares
Tema Autor Foro Respuestas Último mensaje
Calcular dia de semana en que naci ??? Yoda Java 0 20-mar-2008 22:00
Mi primer code en VB.NET: Calcular factoriales By: Espectro Infernal Espectro Infernal Visual Basic y Net 3 21-dic-2006 12:32
[ayuda] Como se puede calcular una raiz en batch??? Larskot Batch 8 27-nov-2006 11:53
animar y calcular tesla Carbide C/C#/C++ 3 28-jul-2006 16:26
ISS presenta dispositivo de seguridad para la mediana empresa CraftyKox Off-Topic 0 03-abr-2004 21:47



Portal Hacker
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0