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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Cola con prioridades
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cola con prioridades  (Leído 2,678 veces)
sprblk

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Cola con prioridades
« en: 25 Mayo 2012, 03:53 am »

Hola muchos saludos soy nuevo por aqui y me gustaria que me pudieran ayudar como pueden ver por el titulo se trata de una cola con prioridades donde el de mayor prioridad sale primero, pero este programa tiene una variante y es que la forma de atender tiene que ir variando osea perimero tiene que atender al de mayor prioridad que en este caso es 3 y al ultimo al de menor prioridad que es 1, pero para que no solo atienda a los de mayor prioridad debe de atender uno de mayor prioridad despues uno de prioridad media y al ultimo al de menor prioridad y si existen mas datos volver a empezar con el de prioridad 3 y si ya no existe uno de prioridad 3 seguir con el de prioridad 2 y asi sucesivamente asta que se vacie la cola espero me haya podido explicar aqui les dejo el codigo que se que esta mal y me gustaria que me corrigieran en muchos de esos errores espero poder contar con su ayuda y de antemano gracias.

Tengo una clase llama cl y en ella declare un arreglo de tipo estructura llamado A[mx] donde solo almacena dos datos un nombre y su priridad  la cual es mas importante para este metodo llamado aten( ) , tiene su contador c y una variable llamada tt que es como otro contador para ser comparado con la prioridad la cual esta inicializada en la clase con valor de 3 y es la que llevara el contro de que dato es el siguiente en ser atendido.

Código
  1.  
  2. void cl::aten(){
  3.  
  4.     for(int i=0;i<c;i++){
  5.     if(A[i].prio == tt){
  6.      for (int i = 0; i < c - 1; i++)
  7.         A[i] = A[i+1];
  8.  
  9.          cout<<"\nDato atendido "<<endl;
  10.       c--;
  11.                  }
  12.     else if(A[i].prio == tt){
  13.        for (int i = 0; i < c - 1; i++)
  14.         A[i] = A[i+1];
  15.  
  16.            cout<<"\nDato atendido "<<endl;
  17.        c--;
  18.                  }
  19.     else if(A[i].prio == tt){
  20.        for (int i = 0; i < c - 1; i++)
  21.         A[i] = A[i+1];
  22.  
  23.              cout<<"\nDato atendido "<<endl;
  24.            c--;  
  25.                  }
  26.     }
  27.         --tt; // la variable tt disminuye en una unidad
  28.  
  29.     if(tt == 0){ tt = 3; }  // cuando tt valga cero  tomara el valor de 3        
  30.     }
  31.  
  32.  
  33.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cola de impresion
Programación Visual Basic
Neobius 1 2,601 Último mensaje 26 Noviembre 2005, 01:10 am
por NYlOn
Pila & Cola
Programación C/C++
¡Micronet! 2 5,010 Último mensaje 23 Octubre 2010, 13:02 pm
por Saberuneko
ayuda en cola
Programación C/C++
josue_tux 0 1,726 Último mensaje 26 Junio 2011, 06:47 am
por josue_tux
pasar datos de una cola dinámica a otra cola...
Programación C/C++
include (); 4 9,177 Último mensaje 10 Agosto 2012, 10:01 am
por BlackZeroX
C - Implementar cola de prioridades
Programación C/C++
ank3r 1 5,452 Último mensaje 13 Mayo 2014, 16:20 pm
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines