elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C++] Quien me puede explicar?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C++] Quien me puede explicar?  (Leído 2,051 veces)
Th3-Cod3

Desconectado Desconectado

Mensajes: 28



Ver Perfil
[C++] Quien me puede explicar?
« en: 4 Noviembre 2016, 18:33 pm »

Buenas a todos, hace un tiempo empece con el tutorial de C++ en la pagina c.conclases.net que de por cierto esta excelente, aunque tengo un par de inconvenientes/dificultades y es que a la hora que me ponen un problema no comprendo bien el contexto del ejercicio/problema. ahora lo que me gustaría es que me ayudara a comprender el problema. (no estoy pidiendo que lo resuelvan.)

Problema 17.2 (http://c.conclase.net/curso/index.php?cap=017#PUNT_Problemas)

Ordenar un array de float aleatorios, para ello, crear un array dinámico con el mismo número de elementos que contenga valores enteros, cada uno de ellos será un índice del array de floats a ordenar.
Ordenar los índices en este segundo array según el orden ascendente del array de números, pero sin modificar el orden ni el contenido del array de floats, que debe permanecer constante.
Por ejemplo, si el array dado contiene los valores: 1.32, 4.21, 2.33, 0.23, 8.35, 2.32, se debe crear un segundo array de enteros dinámico, que una vez ordenado debe contener los valores: 3, 0, 5, 2, 1, 4.
Para ordenar el array de enteros se debe usar la función qsort.

Gracias de antemano.


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: [C++] Quien me puede explicar?
« Respuesta #1 en: 4 Noviembre 2016, 19:14 pm »

Como sabes se usa un índice para recorrer los arrays. El arrays de flotas del ejemplo es el suigiente:

indice             contenido
   0                      1.32
   1                      4.21
   2                      2.33
   3                      0.23
   4                      8.35
   5                      2.32

El enunciado te dice que debes crear otro array de enteros que contendrá los índices del array de floats

indice             contenido
   0                        0
   1                        1
   2                        2
   3                        3
   4                        4
   5                        5

Y dispongas el arrays de índices para que al recorrerlo, y usar su contenido como índice del array de floats, este muestre sus valores de forma ascendente:

array de índices
indice             contenido
   0                        3
   1                        0
   2                        5
   3                        2
   4                        1
   5                        4

array de floats
indice             contenido
   0                      1.32
   1                      4.21
   2                      2.33
   3                      0.23
   4                      8.35
   5                      2.32

Así, en un bucle i desde 0 hasta 5
     si se muestra el contenido de arrayfloat[arrayindice[i]]

imprimirà
0.23
1.32
2.32
2.33
4.21
8.35


En línea

Th3-Cod3

Desconectado Desconectado

Mensajes: 28



Ver Perfil
Re: [C++] Quien me puede explicar?
« Respuesta #2 en: 4 Noviembre 2016, 19:31 pm »

Gracias por la aclaración, saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines