Advertisement
Guest User

teraz tylko oioioi

a guest
Apr 5th, 2020
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.48 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct node {
  5.   int tstart;
  6.   int num;
  7.   struct node *next;
  8. };
  9. struct node *start = NULL;
  10.  
  11. void del(int tim) { //usuwam z przodu, print z wymogow zadania
  12.   struct node *t;
  13.   int num, tstart;
  14.   num = start->num;
  15.   tstart=start->tstart;
  16.   t = start->next;
  17.  
  18.   free(start);
  19.   start = t;
  20.  
  21.   printf("%d %d", num, tim-tstart);
  22. }
  23.  
  24. void insert(int tstart, int num) { //dodaje na koncu
  25.   struct node *t, *temp;
  26.  
  27.   t = (struct node*)malloc(sizeof(struct node));
  28.   t->tstart = tstart;
  29.   t->num=num;
  30.  
  31.   if (start == NULL) {
  32.     start = t;
  33.     start->next = NULL;
  34.     return;
  35.   }
  36.  
  37.   temp = start;
  38.   while (temp->next != NULL)
  39.     temp = temp->next;
  40.  
  41.   temp->next = t;
  42.   t->next = NULL;
  43. }
  44.  
  45. void aresolve(char *input)
  46. {
  47.     int tstart,num;
  48.     sscanf(input,"a %d %d", &tstart,&num);
  49.     insert(tstart,num); //dodaje node z wartosciami co trzeba
  50. }
  51.  
  52. void rresolve(char *input)
  53. {
  54.     int tim=0;
  55.     sscanf(input,"r %d",&tim);
  56.     del(tim);   //wyrzucam element na poczatku kolejki, printuje dane
  57. }
  58. void dowork(char *input) //wywoluje do kazdego inputa
  59. {
  60.     if(input[0]=='a')
  61.     {
  62.         aresolve(input);
  63.     }
  64.     else if(input[0]=='r')
  65.     {
  66.         rresolve(input);
  67.     }
  68.     return;
  69. }
  70.  
  71. int main()
  72. {
  73.     int n;
  74.     scanf("%d",&n);
  75.     for(int i=0; i<n+1; i++)
  76.     {
  77.         char *input=malloc(60*sizeof(char));
  78.         fgets(input,59,stdin);
  79.         dowork(input);
  80.         free(input);
  81.     }
  82.     return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement