Viernes 8 de Noviembre de 2024, 17:48
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
) »
ordenamiento por cubetas
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: ordenamiento por cubetas (Leído 7556 veces)
eruelas
Miembro activo
Mensajes: 69
Nacionalidad:
ordenamiento por cubetas
«
en:
Martes 3 de Marzo de 2009, 04:11 »
0
Hola a todos kisiera saber si alguien me puede dar un ejemplo del metedo de ordenacion por cubetas y si es posible codigo y/o descripcion dl procedimiento de vdd se los agradeceria mucho gracias de antemano
Tweet
manuel_vzla
Nuevo Miembro
Mensajes: 1
Re:ordenamiento por cubetas
«
Respuesta #1 en:
Lunes 22 de Octubre de 2012, 16:56 »
0
Código: C
#include<stdio.h>
void
modifica_cubeta
(
int
[
]
,
int
,
int
)
;
main
(
)
{
int
i
;
int
j
;
int
N
;
int
z
=
0
;
printf
(
"cantidad de elementos
\n
"
)
;
scanf
(
"%d"
,&
N
)
;
int
tem
[
N
]
;
int
tem1
[
N
]
;
int
Arreglo
[
N
]
[
10
]
;
int
copia
[
10
]
[
10
]
;
int
temp
[
N
]
;
int
aux
[
N
]
;
int
c
[
N
]
;
printf
(
"introduzca los elementos
\n
"
)
;
for
(
i
=
0
;
i
<
N
;
i
++
)
scanf
(
"%d"
,&
aux
[
i
]
)
;
for
(
i
=
0
;
i
<
N
;
i
++
)
c
[
i
]
=
aux
[
i
]
;
for
(
j
=
0
;
j
<
10
;
j
++
)
for
(
i
=
0
;
i
<
N
;
i
++
)
Arreglo
[
i
]
[
j
]
=
0
;
for
(
j
=
0
;
j
<
10
;
j
++
)
for
(
i
=
0
;
i
<
10
;
i
++
)
copia
[
i
]
[
j
]
=
0
;
modifica_cubeta
(
aux
,
N
,
1
)
;
for
(
j
=
0
;
j
<
10
;
j
++
)
for
(
i
=
0
;
i
<
N
;
i
++
)
{
temp
[
i
]
=
aux
[
i
]
;
//printf("%d ",temp[i]);
Arreglo
[
i
]
[
aux
[
i
]
]
=
c
[
i
]
;
tem
[
i
]
=
Arreglo
[
i
]
[
j
]
;
if
(
Arreglo
[
i
]
[
j
]
>
0
)
{
modifica_cubeta
(
tem
,
N
,
2
)
;
printf
(
"%d "
,
tem
[
i
]
)
;
c
[
i
]
=
Arreglo
[
i
]
[
j
]
;
copia
[
aux
[
i
]
]
[
tem
[
i
]
]
=
c
[
i
]
;
}
}
for
(
j
=
0
;
j
<
10
;
j
++
)
for
(
i
=
0
;
i
<
10
;
i
++
)
{
if
(
i
%
10
==
0
)
printf
(
"
\n
"
)
;
printf
(
"%3d "
,
copia
[
i
]
[
j
]
)
;
}
//system("pause");
}
void
modifica_cubeta
(
int
b
[
]
,
int
n
,
int
pasada
)
{
int
casilla
;
int
i
,
j
;
int
n_tem
;
int
n_temp
[
10
*
n
]
[
10
*
n
]
;
int
n_temp1
[
10
*
n
]
[
10
*
n
]
;
for
(
j
=
0
;
j
<=
10
*
n
;
j
++
)
for
(
i
=
0
;
i
<
n
;
i
++
)
{
n_tem
=
b
[
i
]
;
n_temp
[
i
]
[
j
]
=
n_tem
/
10
;
n_temp1
[
i
]
[
j
]
=
n_tem
%
10
;
if
(
j
>=
1
)
{
n_temp
[
i
]
[
j
]
=
n_temp
[
i
]
[
j
-
1
]
/
10
;
}
if
(
j
>=
2
)
{
n_temp1
[
i
]
[
j
-
2
]
=
n_temp1
[
i
]
[
j
]
;
n_temp1
[
i
]
[
j
]
=
n_temp
[
i
]
[
j
-
2
]
%
10
;
}
if
(
j
>
0
)
{
if
(
j
==
pasada
)
{
b
[
i
]
=
n_temp1
[
i
]
[
j
]
;
}
}
}
}
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
ordenamiento por cubetas