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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  segmentation al ordenar un arreglo de objetos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: segmentation al ordenar un arreglo de objetos  (Leído 1,761 veces)
yeah_2796

Desconectado Desconectado

Mensajes: 6


Ver Perfil
segmentation al ordenar un arreglo de objetos
« en: 19 Mayo 2015, 22:51 pm »

Hola tengo un arreglo de objetos que se trata de un parque de diversiones en el cual cada atraccion tiene dos atributos su nombre (string) y su nivel de diversion (int).

yo leo 3 valores m que es la cantidad de atracciones, que es mayor a 1 y menor 100000; un n  n<=10 que son la cantidad de atracciones populares, osea, las atracciones que tienen un nivel de divesion mas alto y tambien leo un valor h que por ahora no lo estoy usando pero despues lo usare por que son para leer las aristas con las que se conectaran las atracciones,

por ahora mi problema es que tengo que ordenar ese arreglo de mayor a menor ya que las atracciones con mayor nivel de diversion van primero...

entrada:
5 3 3(este ultimo valor no hace nada todavia no es importante para el ordenar)
montaña_rusa 30
carritos_chocones 50
barco_pirata 40
tazas_locas 10
casa_terror 20

por lo tanto tendria que estar ordenado de:
carritos_chocones
barco_pirata
montaña_rusa
casa_terror
tazas_locas

y el programa deberia imprimir es:

carritos_chocones
barco_pirata
montaña_rusa


y bueno yo estaba usando el ordenamiento de seleccion (selection sort) que es de menor a mayor pero lo modifique como yo crei para poder ordenarlo ascendentemente, pero mi problema es que no me ordena, me da segmentation y nunca antes habia ordenado un arreglo de objetos y tengo dudas con eso, podrian ayudarme por favor con el codigo.

Código
  1. //jose luis silva 24.900.481 sección: c4
  2.  
  3. #include <iostream>
  4. #include <string>
  5. using namespace std;
  6.  
  7. class atraccion {
  8. private:
  9. int x;
  10. string name;
  11. public:
  12.  
  13. atraccion () {}
  14. atraccion (int var, string nnombre){
  15. x=var;
  16. name = nnombre;
  17. }
  18. ~atraccion() {}
  19.  
  20. void set_x (int val) { //modifica el x
  21. x = val;
  22. }
  23.  
  24. int get_x () { //devuelve el x
  25. return x;
  26. }
  27.  
  28. void set_name ( string nom) { //modifica el nombre
  29. name =nom;
  30. }
  31.  
  32. string get_name () { //devuelve el nombre
  33. return name;
  34. }
  35. };
  36.  
  37. int main (){
  38. int m, n, h,div;
  39. int posmayor,mayor;
  40. string nombre;
  41. atraccion intercambio;
  42.  
  43. cin>>m>>n>>h;
  44.  
  45. atraccion ar [m]; //arreglo que almacena cada atraccion
  46.  
  47. for (int i=0;i<m;i++) {
  48. cin>>nombre;
  49. cin>>div;
  50. ar[i].set_name(nombre);
  51. ar[i].set_x (div);
  52. }
  53.  
  54. for (int w=0;w<=m-2;w++){ //ordenamiento
  55. posmayor = w;
  56. mayor = ar[w].get_x();
  57. for (int k=w+1; k<=m-1; k++){
  58. if (ar[k].get_x() > mayor) {
  59. mayor = ar[k].get_x();
  60. posmayor =k;
  61. }
  62. }
  63.  
  64. intercambio = ar[posmayor];
  65. ar[posmayor] =ar[w];
  66. ar[w] = intercambio;
  67. }
  68.  
  69. for (int j=0;j<n;j++) {
  70. cout<<ar[j].get_name()<<endl;
  71. }
  72.  
  73. return 0;
  74. }
  75.  


« Última modificación: 19 Mayo 2015, 22:53 pm por yeah_2796 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Arreglo Dinamico con Objetos :S
Java
Xephiro 9 14,464 Último mensaje 6 Marzo 2009, 20:20 pm
por juancho77
[ayuda][c++]ordenar arreglo
Programación C/C++
dragon_hack 4 3,690 Último mensaje 31 Julio 2010, 21:20 pm
por Littlehorse
Ordenar un arreglo en c++
Programación C/C++
angel91 5 32,482 Último mensaje 14 Enero 2012, 14:38 pm
por rir3760
ordenar arreglo bidimensional
Programación C/C++
jona1107 1 4,984 Último mensaje 18 Noviembre 2012, 17:37 pm
por durasno
Arreglo de objetos
Java
Aida 7 4,443 Último mensaje 16 Marzo 2014, 23:45 pm
por Mitsu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines