Advertisement
majczel23000

[AiSD] 1d

Nov 30th, 2017
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.04 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. //Zadanie 1
  6. const int N = 10;
  7. struct Student
  8. {
  9.     string nazwisko;
  10.     float srednia;
  11. };
  12.  
  13. Student dane[N]={
  14.     "Wroclawski", 4.0,
  15.     "Katowicki", 3.0,
  16.     "Nyski", 4.5,
  17.     "Augustowski", 4.5,
  18.     "Krakowski", 5.0,
  19.     "Opolski", 3.5,
  20.     "Poznanski", 4.0,
  21.     "Krakowski", 4.5,
  22.     "Radomski", 3.5,
  23.     "Katowicki", 4.0
  24. };
  25.  
  26. void sortuj()
  27. {
  28.     for(int i = 1; i < N; i++)
  29.         for(int j = N-1; j>= i; j--)
  30.         {
  31.             if(dane[j].srednia > dane[j-1].srednia)
  32.                 swap(dane[j], dane[j-1]);
  33.             if(dane[j].srednia == dane[j-1].srednia && dane[j].nazwisko < dane[j-1].nazwisko)
  34.                 swap(dane[j], dane[j-1]);
  35.         }
  36. }
  37.  
  38. void drukuj()
  39. {
  40.     for(int i = 0; i < N; i++)
  41.         cout<<dane[i].nazwisko<<"\t"<<dane[i].srednia<<endl;
  42.     cout<<endl;
  43. }
  44.  
  45. void zadanie1()
  46. {
  47.     drukuj();
  48.     sortuj();
  49.     drukuj();
  50. }
  51.  
  52. //Zadanie 2
  53. struct element
  54. {
  55.     char wart;
  56.     element *next, *prev;
  57. };
  58.  
  59. element *head=NULL;
  60.  
  61. void dodaj(char z)
  62. {
  63.     element *n = new element;
  64.     n->wart = z;
  65.     if(head == NULL)
  66.     {
  67.         head = n;
  68.         n->prev = 0;
  69.         n->next = 0;
  70.     }
  71.     else
  72.     {
  73.         element *p = head;
  74.         while(p->next != 0)
  75.             p = p->next;
  76.         p->next = n;
  77.         n->prev = p;
  78.         n->next = 0;
  79.     }
  80. }
  81.  
  82. void drukujL()
  83. {
  84.     element *p = head;
  85.     if(p==0)
  86.         cout<<"Lista pusta"<<endl;
  87.     while(p!=0)
  88.     {
  89.         if(p->next != 0)
  90.             cout<<p->wart<<" <-> ";
  91.         else
  92.             cout<<p->wart;
  93.         p = p->next;
  94.     }
  95.     cout<<endl;
  96. }
  97.  
  98. void usun()
  99. {
  100.     element *p;
  101.     while(head != 0)
  102.     {
  103.         p = head->next;
  104.         delete head;
  105.         head = p;
  106.     }
  107. }
  108.  
  109. void zadanie2()
  110. {
  111.     dodaj('d');
  112.     dodaj('j');
  113.     dodaj('l');
  114.     dodaj('h');
  115.     dodaj('a');
  116.     dodaj('a');
  117.     dodaj('k');
  118.     dodaj('k');
  119.     drukujL();
  120.     usun();
  121.     drukujL();
  122. }
  123.  
  124. int main(){
  125.     zadanie2();
  126.     return 0;
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement