Facebook
From Wet Mousedeer, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 54
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct Elem{
  6.     int liczba;
  7.     Elem*next;
  8. };
  9.  
  10. bool funkcja (Elem*&glowa, int numer)
  11. {
  12.     if (glowa==NULL){
  13.         return false;
  14.     }
  15.     int max = glowa->liczba;
  16.     Elem*akt=glowa;
  17.     while(akt!=NULL)
  18.     {
  19.         if(akt->liczba>max){
  20.             max=akt->liczba;
  21.         }
  22.         akt=akt->next;
  23.     }
  24.     Elem*ost=glowa;
  25.     while(ost->next!=NULL)
  26.     {
  27.         ost=ost->next;
  28.     }
  29.     Elem*nowy=new Elem;
  30.     nowy->liczba=max;
  31.     nowy->next=NULL;
  32.     ost->next=nowy;
  33.    
  34.     akt=glowa;
  35.     int n=0;
  36.     while(akt!=NULL)
  37.     {
  38.         n++;
  39.         akt=akt->next;
  40.     }
  41.     if ((numer<=0) ||(numer>n)){
  42.         return false;
  43.     }
  44.     if (numer==1){
  45.         Elem*u=glowa;
  46.         glowa=glowa->next;
  47.         delete u;
  48.     }else{
  49.         Elem*pu=glowa;
  50.         for(int i=1; i<numer-1; i++){
  51.             pu=pu->next;
  52.         }
  53.         Elem*uu=pu->next;
  54.         pu->next=uu->next;
  55.         delete uu;
  56.     }
  57.     return true;
  58. }
  59.  
  60. Elem* stworz ()
  61. {
  62.     Elem* glowa = new Elem;
  63.       Elem* tmp = glowa;
  64.       do {
  65.           cin >> glowa -> liczba; cout << "   ";
  66.           tmp -> next = new Elem;
  67.           tmp = tmp -> next;
  68.           tmp -> next = NULL;
  69.       } while (tmp->liczba!=0);
  70.       return tmp;
  71. }
  72.  
  73. int main()
  74. {
  75.     Elem *glowa = NULL;
  76.     stworz();
  77.     funkcja(glowa,4);
  78.    
  79.     return 0;
  80. }