Domingo 15 de Diciembre de 2024, 04:42
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Re: Hola, ayudenme porfavor a revisar este código, yo no se
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Re: Hola, ayudenme porfavor a revisar este código, yo no se (Leído 2850 veces)
Andrea804
Nuevo Miembro
Mensajes: 4
Re: Hola, ayudenme porfavor a revisar este código, yo no se
«
en:
Jueves 27 de Febrero de 2003, 18:22 »
0
for(i20=0;i20<N;i20++){
prueba22[i20]=hola5[i20].calculo;
}
//imprimir array prueba22[] antes de la ordenación
i23=0;
for(i23=0;i23<21;i23++){
cout << prueba22[i23] << " pruebaAntesssn";
}
/////////////////////////////////algoritmo de ordenación//////////////////////////////
for(i8=1;i8<N;i8++){ // Hacer N pasadas.
for(j8=0;j8<N-1;j8++){ // Mirar los N-1 pares.
if(prueba22[j8] < prueba22[j8+1]) // Si el elemento j+1 es menor que el elemento j:
{
aux=prueba22[j8]; // Se intercambian los elementos
prueba22[j8]=prueba22[j8+1]; // de las posiciones j y j+1
prueba22[j8+1]=aux; // usando una variable auxiliar.
}
}
}
////////////////////////////////fin/////////////////////////////////////////////////////
//imprimir el array despues de la ordenación
i25=0;
for(i25=0;i25<21;i25++){
cout << prueba22[i25] << " pruebadespuesn";
}
Al imprimir el array prueba22[] antes de la ordenación aparece bien,
el problema es que al imprimirlo despues de la ordenación
aparece mal, sin ordenar y no aparecen algunos elementos del array.
No se que esta mal!!
Muchas gracias
Tweet
Astor
Miembro MUY activo
Mensajes: 112
Re: Hola, ayudenme porfavor a revisar este código, yo no se
«
Respuesta #1 en:
Jueves 27 de Febrero de 2003, 18:56 »
0
Mira no lo mire del todo ya que resulta bastante confuso el nombre que usas para las variables, sobre todos los contadores. Seria bueno que
1. Agregues las definiciones de los arrays y variables para saber si no estaras haciendo algun overflow.
2. Te recomendaria uses una sola variable para contadores (ejmplo i o x, o n). Si bien podes hacerlo como gustes adquirir buenas costumbres cuando comenzas es mejor que luego tener que cambiarlas.
astor@spoofing.com.ar
gothmog
Miembro activo
Mensajes: 84
Re: Hola, ayudenme porfavor a revisar este código, yo no se
«
Respuesta #2 en:
Jueves 27 de Febrero de 2003, 19:32 »
0
pues asi a bote pronto sin haber overflows ni nada de eso como bien comenta astor, esto:
for(i8=1;i8<N;i8++){ // Hacer N pasadas.
for(j8=0;j8<N-1;j8++){ // Mirar los N-1 pares
Hacen exactamente el mismo numero de pasadas, esto es, n-1. No deberia ser i8=0 ??
Astor
Miembro MUY activo
Mensajes: 112
Re: Hola, ayudenme porfavor a revisar este código, yo no se
«
Respuesta #3 en:
Jueves 27 de Febrero de 2003, 20:21 »
0
Tiene razon gothmog. Vos tendrias que hacer
for(x=0,x<N,x++)
{
for(i=x, i< N, i++)
{
Vos intentaste hacer esto ? ordenar por metodod e bubujeo ?
astor@spoofing.com.ar
Andrea804
Nuevo Miembro
Mensajes: 4
Re: Hola, ayudenme porfavor a revisar este código, yo no se
«
Respuesta #4 en:
Viernes 28 de Febrero de 2003, 10:24 »
0
Hola, si, he tratado de aplicar el método de la burbuja
que lo he encontrado en alguna página de la internet.
Muchas Gracias Gothmot, probé con i8=0, pero me pasa lo mismo.
Hasta pronto
Astor
Miembro MUY activo
Mensajes: 112
Re: Hola, ayudenme porfavor a revisar este código, yo no se
«
Respuesta #5 en:
Sábado 1 de Marzo de 2003, 22:47 »
0
Si quisiste hacer burbujeo deberias haber hecho lo que yo te dije para tenet un indice en un lugar y con el otro recorrer desde alli al final.
Saludos.-
astor@spoofing.com.ar
Andrea804
Nuevo Miembro
Mensajes: 4
Re: Hola, ayudenme porfavor a revisar este código, yo no se
«
Respuesta #6 en:
Martes 4 de Marzo de 2003, 17:07 »
0
Muchas gracias por la ayuda, Astor como es el algoritmo de burbujeo que me planteas?
Me lo puedes escribir o enviar a mi e-mail por favor.
Muchas gracias.
Saludos.
agvabraham
Nuevo Miembro
Mensajes: 5
Re: Hola, ayudenme porfavor a revisar este código, yo no se
«
Respuesta #7 en:
Jueves 6 de Marzo de 2003, 11:02 »
0
Bueno primeramente ... holaa...
oye quiero pensar que esta instruccion
hola5[i20].calculo es la inicializacion del arreglo...ok
Despues muestras lo que tienes almacenado en tu arreglo (tus datos a ardenar...ok
Despues utilizas el metodo de la burbuja para ordenarlo...cierto... si es asi entonces lo que esta mal es el empleo del metodo... estan mal los ciclos for y ademas los subindices de los arreglos en el intercambio... prueba el sig codigo...
#incluide <stdio.h>
void main ();
{
int prueba22 [10];
int N=10;
burbuja (prueba22,N); /* Ordenaremos el arreglo en forma ascendente 1,5,8,10,15,22,100 */
getch();
}
/* *a_p es el apuntador al primer elemento del arreglo que quieres ordenar */
/* tam es el tamaño del arreglo que quieres ordenar */
void burbuja (int *a_p,int tam)
{
int j,k,aux;
for (j=0 ; j<tam-1 ;j++)
for (k=i+1 ; k<tam ; k++)
if ( prueba22 [ k ] < prueba22 [ j ] )
{
aux = prueba22 [ j ];
prueba22 [ j ] = prueba22 [ k ];
prueba22 [ k ] = aux;
}
}
Espero esto te sirva...ok
Andrea804
Nuevo Miembro
Mensajes: 4
Hola, ayudenme porfavor a revisar este código, yo no se que
«
Respuesta #8 en:
Jueves 13 de Marzo de 2003, 18:30 »
0
Hola agvabraham
Muchas Gracias por tu respuesta, pero hasta hoy he visto tu mensaje.
Si, tienes razón lo que estaba mal era el metodo burbuja. ya lo he resuelto por mi misma.
Gracias de nuevo
Un saludo
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Re: Hola, ayudenme porfavor a revisar este código, yo no se