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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda con un intrucciones en: 15 Mayo 2019, 17:11 pm
hola estoy asiento un programa pero no entiendo bien lo que me están tratando de decir estas son las instrucciones
1. Defina una estructura de datos que contenga el identificador de un proceso cualquiera,
que debe ser un número entero cualquiera y la prioridad del mismo, entero de 1 a 10
donde 1 representa la prioridad más alta y 10 la más baja.
2. Defina una cola priorizada implementada como un arreglo de las estructuras definidas
en el punto anterior de un tamaño máximo razonable (entre 10 y 20).
3. Implemente la función insert que introduzca en la cola una estructura de proceso de
acuerdo a su prioridad.
4. Implemente la función removeFirst que saque de la cola la primera estructura que es la
de más alta prioridad.
5. Implemente la función display para desplegar el contenido de la cola. Esta función no es
esencial para la ejecución del programa pero será muy útil durante el desarrollo.
6. Implemente la función create que inserte en la cola un número cualquiera de
estructuras de procesos para poder contar con una cola de procesos no vacía.
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4. #include <stdbool.h>
  5. #include <stdlib.h>
  6. #include <windows.h>
  7. #include <time.h>
  8. // Definición de funciones
  9. void insert(int item); // insert en base a prioridad
  10. int removeFirst(); // remove el primer elemento de la cola
  11. int removePrio(int prio); // remove el primer elemento de la cola de cierta prioridad
  12. void display(); // desplegar la cola
  13. int peek(); // peek el primer elemento de la cola
  14. void create(); // crea una cola priorizada con algunos elementos.
  15.  
  16. // Definición de variables globales
  17. #define max 20 // capacidad de la cola
  18. int queArray[max]; // cola priorizada implementada como arreglo
  19. int front; // inicio de la cola
  20. int rear; // fin de la cola
  21.  
  22. struct proceso{
  23.    int datos;
  24.    int prioridad;
  25.  
  26.  
  27. }proceso;
  28. int main() {
  29.    setlocale(LC_ALL, ""); // para caracteres del Español
  30.       create();
  31.  int prioridad[] = {1,2,3,4,5,6,7,8,9,10};
  32.    for(int i=0;i<10;i++){
  33.        insert(prioridad[i]);
  34.  
  35.    }
  36.    create();
  37.    removeFirst();
  38.  
  39.            display();
  40.  
  41.  
  42.    return 0;
  43. }
  44. // remover el elemento al inicio de la cola
  45. int removeFirst() {
  46.    if(front == -1 & rear == 0) {
  47.        printf("Cola vacía, no se puede remover\n");
  48.        return -1;
  49.    } else {
  50.        return queArray[front--];
  51.    }
  52.  
  53. }
  54. // remove el primer elemento de la cola de cierta prioridad
  55.  
  56. // insert en base a prioridad
  57. void insert(int item) {
  58.    if(front == max-1) {
  59.        printf("Cola llena, no se puede insertar\n");
  60.        return;
  61.    }
  62.    if(front == -1) {
  63.        queArray[++front] = item;
  64.    } else {
  65.        if(item <= queArray[front]) {
  66.            queArray[++front] = item;
  67.        } else {
  68.            int j, k;
  69.            for(j = front; j >= rear; j--) {
  70.                if(item >= queArray[j]) {
  71.                    queArray[j + 1] = queArray[j];
  72.                    k = j;
  73.                }
  74.            }
  75.            queArray[k] = item;
  76.            front++;
  77.        }
  78.    }
  79. }
  80.  
  81. // peek el primer elemento de la cola
  82.  
  83. /* Despliega la cola */
  84. void display() {
  85.    if(front == -1 & rear == 0) {
  86.        printf("Cola vacía\n");
  87.    } else {
  88.        printf("[");
  89.        for(int i = front; i > rear; i--) {
  90.            printf("%d, ", queArray[i]);
  91.        }
  92.        printf("%d]\n", queArray[rear]);
  93.    }
  94. }
  95.  
  96. void create() {
  97.    front = -1;
  98.    rear = 0;
  99.    insert(1);
  100. }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines