<mosaic.cnfolio.com>
PROGRAM
  1. /*
  2. Start
  3. INITIALIZE  arrays one and two to zero
  4. SET         variables Hand1, Hamd2, i, j and temp as INTEGERS
  5.    OBTAIN   INPUT  size of player 1 s hand
  6.       IF      INPUT for Hand1 is greater than 10 or less than 2
  7.          THEN  PRINT message “You may only have between 2 and 10 cards numbered between 1-10. player 1 ”
  8.          END PROGRAMME
  9.   END IF
  10.          FOR   First Position of Hand1 to the last position of Hand1
  11.             OBTAIN      VALUES of cards ASSIGN to variable i
  12.                IF CHARACTER count is over 20
  13.                   THEN  PRINT message “You have too many cards”
  14.                   END PROGRAMME
  15.                END IF
  16.          END FOR
  17.                      FOR   First Position of Hand1 to the last position of Hand1
  18.                         FOR   First Position plus one of Hand1 to the last position of Hand1
  19.                            IF position is less than the position plus one (next position)
  20.                               THEN  SWAP positions
  21.                            END IF
  22.                         END FOR
  23.                      END FOR
  24.                      
  25.    OBTAIN    INPUT      ASSIGN to Hand2
  26.       IF INPUT for Hand2 is greater than 10 or less than 2
  27.          THEN  PRINT message “You may only have between 2 and 10 cards numbered between 1-10. player 2”
  28.          END PROGRAMME
  29.       END IF
  30.          FOR   First Position of Hand2 to the last position of Hand2
  31.             OBTAIN      VALUES of cards ASSIGN to variable i
  32.                IF CHARACTER count is over 20
  33.                   THEN  PRINT message “You have too many cards”
  34.                   END PROGRAMME
  35.                END IF
  36.          END FOR
  37.                      FOR   First Position of Hand2 to the last position of Hand2
  38.                         FOR   First Position plus one of Hand2 to the last position of Hand2
  39.                            IF First position is less than the first position plus one (second position)
  40.                               THEN  SWAP positions
  41.                            END IF
  42.                         END FOR
  43.                      END FOR
  44.                      
  45. WHILE Hand1 is greater than HAND2
  46.    FOR   First Position of Hand2 to the last position of Hand2
  47.       IF Position of Hand1 is greater than the same Position of Hand2
  48.          DISPLAY  Player 1 wins
  49.          END PROGRAMME
  50.       END IF
  51.    END FOR
  52.          FOR   First Position of Hand2 to the last position of Hand2
  53.             IF Position of Hand1 is less than the same Position of Hand2
  54.                DISPLAY  Player 2 wins
  55.                END PROGRAMME
  56.             END IF
  57.          END FOR
  58.                FOR   First Position of Hand1 to the last position of Hand1
  59.                   IF Position of Hand1 is greater than the same Position of Hand2
  60.                      DISPLAY  Player 1 wins
  61.                      END PROGRAMME
  62.                   END IF
  63.                END FOR
  64.                   FOR   First Position of Hand1 to the last position of Hand1
  65.                      IF Position of Hand1 is less than the same Position of Hand2
  66.                         DISPLAY  Player 2 wins
  67.                         END PROGRAMME
  68.                      END IF
  69.                   END FOR
  70.                      FOR   First Position of Hand1 to the last position of Hand1
  71.                         IF Position of Hand1 is Equal to the same Position of Hand2
  72.                            DISPLAY  Draw
  73.                            END PROGRAMME
  74.                         END IF
  75.                      END FOR
  76. END WHILE
  77.  
  78. WHILE Hand1 is less than HAND2
  79.    FOR   First Position of Hand1 to the last position of Hand1
  80.       IF Position of Hand1 is greater than the same Position of Hand2
  81.          DISPLAY  Player 1 wins
  82.          END PROGRAMME
  83.       END IF
  84.    END FOR
  85.          FOR   First Position of Hand1 to the last position of Hand1
  86.             IF Position of Hand1 is less than the same Position of Hand2
  87.                DISPLAY  Player 2 wins
  88.                END PROGRAMME
  89.             END IF
  90.          END FOR
  91.                FOR   First Position of Hand2 to the last position of Hand2
  92.                   IF Position of Hand1 is greater than the same Position of Hand2
  93.                      DISPLAY  Player 1 wins
  94.                      END PROGRAMME
  95.                   END IF
  96.                END FOR
  97.                      FOR   First Position of Hand1 to the last position of Hand1
  98.                         IF Position of Hand1 is less than the same Position of Hand2
  99.                            DISPLAY  Player 2 wins
  100.                            END PROGRAMME
  101.                         END IF
  102.                      END FOR
  103.                            FOR   First Position of Hand2 to the last position of Hand2
  104.                               IF Position of Hand1 is Equal to the same Position of Hand2
  105.                                  DISPLAY  Draw
  106.                                  END PROGRAMME
  107.                               END IF
  108.                            END FOR
  109. END WHILE
  110.  
  111. WHILE Hand1 is equal to HAND2
  112.    FOR   First Position of Hand1 to the last position of Hand1
  113.       IF Position of Hand1 is greater than the same Position of Hand2
  114.          DISPLAY  Player 1 wins
  115.          END PROGRAMME
  116.       END IF
  117.    END FOR
  118.          FOR   First Position of Hand1 to the last position of Hand1
  119.             IF Position of Hand1 is less than the same Position of Hand2
  120.                DISPLAY  Player 2 wins
  121.                END PROGRAMME
  122.             END IF
  123.          END FOR
  124.                FOR   First Position of Hand1 to the last position of Hand1
  125.                   IF Position of Hand1 is Equal to the same Position of Hand2
  126.                      DISPLAY  Draw
  127.                      END PROGRAMME
  128.                   END IF
  129.                END FOR
  130. END WHILE
  131.  
  132. END PROGRAMME
  133. */
  134.  
  135.  
  136. #include <stdio.h>
  137.  
  138. /*Start of the programme*/
  139.  
  140. int main()
  141. {
  142.  
  143. /*Decleration of Variables used within the programme as Integers and initialisation of Arrays*/
  144.  
  145.    int ar[10]={0}, arr[10]={0};
  146.    int Hand1, Hand2;
  147.    int i, j, temp;
  148.    
  149. /*Programme Obtains Size of Player 1's Hand*/   
  150.    
  151.    scanf("%d",&Hand1);
  152.    
  153.       /*Check if Hand1 is bigger than 10 or less than 2*/
  154.      
  155.       if(Hand1>10||Hand1<2)
  156.      
  157.          {
  158.             /*If a number below 2 or above 10 is entered the programme will terminate due to an error, informing the user of the error*/
  159.            
  160.             printf("You may only have between 2 and 10 cards numbered between 1-10. player 1");
  161.             return 0;
  162.          }
  163.                /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand1*/
  164.                
  165.                for (i=0;i<Hand1;i++)
  166.                {
  167.                
  168.                /*For the above loop, obtain card values for Hand1*/
  169.                
  170.                scanf("%d",&ar[i]);
  171.                
  172.                /*Check if the amount of characters used exceeds 20 or is less than 0*/
  173.                
  174.                if(i>20||i<0)
  175.                
  176.                 {
  177.                  
  178.                   /*Prints error message to inform user of error and terminate programme*/
  179.                  
  180.                   printf("Card values can only be between 1 and 10 player 1");
  181.                   return 0;
  182.                   }
  183.                }
  184.                
  185.                      /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand1*/
  186.                      
  187.                      for(i=0;i<Hand1;i++)
  188.          
  189.              {
  190.                      
  191.                      /*Loop, Set's the variable "j" to zero + 1 and increments the value of "j" untill it reaches the size of Hand1*/
  192.                         for(j=i+1;j<Hand1;j++)   
  193.            
  194.                      {
  195.                      /* if position i in the array is less than position j in the array*/
  196.                            if(ar[i]<ar[j])
  197.                
  198.                               {
  199.                               /* set temp as i, set j as the new i then set temp as new j (this swaps positions for highest to lowest sorting)*/
  200.                           temp  = ar[i];
  201.                                  ar[i] = ar[j];
  202.                      ar[j] = temp;
  203.                               }
  204.                      }     
  205.                      }
  206.                      
  207.    /*Programme Obtains Size of Player 2's Hand*/
  208.          
  209.    scanf("%d",&Hand2);
  210.    
  211.       /*Check if Hand2 is bigger than 10 or less than 2*/
  212.    
  213.       if(Hand2>10||Hand2<2)
  214.      
  215.          {
  216.          
  217.             /*If a number below 2 or above 10 is entered the programme will terminate due to an error, informing the user of the error*/
  218.            
  219.             printf("You may only have between 2 and 10 cards numbered between 1-10. player 2");
  220.            return 0;
  221.          }
  222.          
  223.                /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand2*/
  224.                
  225.                for (i=0;i<Hand2;i++)
  226.    
  227.                   {
  228.                      
  229.                       /*For the above loop, obtain card values for Hand2*/
  230.                      
  231.                      scanf("%d",&arr[i]);
  232.                      
  233.                      /*Check if the amount of characters used exceeds 20 or is less than 0*/
  234.                      
  235.                      if(i>20||i<0)
  236.                      
  237.              {
  238.                      
  239.                          /*Prints error message to inform user of error and terminate programme*/
  240.                         
  241.                         printf("Card values can only be between 1 and 10 player 2");
  242.                         return 0;
  243.                      }
  244.                   }
  245.                            
  246.                            /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand1*/
  247.          
  248.                            for(i=0;i<Hand2;i++)
  249.          
  250.                            {
  251.                            /*Loop, Set's the variable "j" to zero + 1 and increments the value of "j" untill it reaches the size of Hand1*/
  252.                               for(j=i+1;j<Hand2;j++)
  253.            
  254.                            {
  255.                            /* if position i in the array is less than position j in the array*/
  256.                                  if(arr[i]<arr[j])
  257.                
  258.                                     {
  259.                                     /* set temp as i, set j as the new i then set temp as new j (this swaps positions for highest to lowest sorting)*/
  260.                                        temp  = arr[i];
  261.                                        arr[i] = arr[j];
  262.                                        arr[j] = temp;
  263.                                     }
  264.                            }
  265.                            }
  266.                            
  267.          /*Executes Path if Hand1 is the biggest*/
  268.          
  269.          while (Hand1>Hand2)
  270.          { 
  271.          
  272.                 /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand2*/
  273.                
  274.                for(i=0;i<Hand2;i++)
  275.                
  276.                /*For the above loop Check if ar[i] is bigger than arr[i] for every paralle value of i*/
  277.                
  278.                if (ar[i]>arr[i])
  279.                
  280.                   {
  281.                  
  282.                      /*Prints win condition and ends Programme if condition is met*/
  283.                  
  284.                      printf("\nPlayer 1 Wins");
  285.                      return 0;
  286.                   }
  287.                      
  288.                       /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand2*/
  289.                      
  290.                      for(i=0;i<Hand2;i++)
  291.                      
  292.                      /*For the above loop Check if ar[i] is smaller than arr[i] for every paralle value of i*/
  293.                      
  294.                      if (ar[i]<arr[i])
  295.            
  296.                         {
  297.                        
  298.                            /*Prints win condition and ends Programme if condition is met*/
  299.                        
  300.                            printf("\nPlayer 2 Wins");
  301.                return 0;
  302.                         }
  303.                            
  304.                             /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand1*/
  305.                            
  306.                            for(i=0;i<Hand1;i++)
  307.                            
  308.                            /*For the above loop Check if ar[i] is bigger than arr[i] for every paralle value of i*/
  309.                            
  310.                            if (ar[i]>arr[i])
  311.                
  312.                               {
  313.                                  
  314.                                  /*Prints win condition and ends Programme if condition is met*/
  315.                                  
  316.                                  printf("\nPlayer 1 Wins");
  317.                                  return 0;
  318.                               }
  319.                                  
  320.                                   /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand1*/
  321.                                  
  322.                                  for(i=0;i<Hand1;i++)
  323.                                  
  324.                                  /*For the above loop Check if ar[i] is smaller than arr[i] for every paralle value of i*/
  325.                                  
  326.                                  if (ar[i]<arr[i])
  327.            
  328.                                     {
  329.                                    
  330.                                        /*Prints win condition and ends Programme if condition is met*/
  331.                                        
  332.                                        printf("\nPlayer 2 Wins");
  333.                    return 0;
  334.                                     }
  335.                                        
  336.                                         /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand1*/
  337.                                        
  338.                                        for(i=0;i<Hand1;i++)
  339.                                        
  340.                                        /*For the above loop Check if ar[i] is equal to arr[i] for every paralle value of i*/
  341.                                        
  342.                                        if (ar[i]==arr[i])
  343.                
  344.                                           {
  345.                                          
  346.                                              /*Prints Draw condition and ends Programme if condition is met*/
  347.                                              
  348.                                              printf("\nDraw");
  349.                                              return 0;
  350.                                           } 
  351.           }   
  352.          
  353.           /*Executes Path if Hand2 is the biggest*/
  354.          
  355.           while (Hand1<Hand2)
  356.           {  
  357.                /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand1*/
  358.                
  359.               for(i=0;i<Hand1;i++)
  360.                
  361.                /*For the above loop Check if ar[i] is bigger than arr[i] for every paralle value of i*/
  362.                
  363.                if (ar[i]>arr[i])
  364.                
  365.                   { 
  366.                      
  367.                      /*Prints win condition and ends Programme if condition is met*/
  368.                      
  369.                      printf("\nPlayer 1 Wins");
  370.                      return 0;
  371.                   } 
  372.                      
  373.                       /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand1*/
  374.                
  375.                      for(i=0;i<Hand1;i++)
  376.                      
  377.                      /*For the above loop Check if ar[i] is smaller than arr[i] for every paralle value of i*/
  378.                      
  379.                      if (ar[i]<arr[i])
  380.            
  381.                         { 
  382.                            
  383.                            /*Prints win condition and ends Programme if condition is met*/
  384.                              
  385.                            printf("\nPlayer 2 Wins");
  386.                return 0;
  387.                         } 
  388.                            
  389.                             /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand2*/
  390.                            
  391.                            for(i=0;i<Hand2;i++)
  392.                            
  393.                            /*For the above loop Check if ar[i] is bigger than arr[i] for every paralle value of i*/
  394.                            
  395.                            if (ar[i]>arr[i])
  396.                
  397.                               { 
  398.                                  
  399.                                  /*Prints win condition and ends Programme if condition is met*/
  400.                                  
  401.                                  printf("\nPlayer 1 Wins");
  402.                                  return 0;
  403.                               } 
  404.                                  
  405.                                   /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand2*/
  406.                
  407.                                  for(i=0;i<Hand2;i++)
  408.                                  
  409.                                  /*For the above loop Check if ar[i] is smaller than arr[i] for every paralle value of i*/
  410.                                  
  411.                                  if (ar[i]<arr[i])
  412.            
  413.                                     {
  414.                                        
  415.                                        /*Prints win condition and ends Programme if condition is met*/
  416.                                        
  417.                                        printf("\nPlayer 2 Wins");
  418.                    return 0;
  419.                                     } 
  420.                                        
  421.                                         /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand2*/
  422.                
  423.                                        for(i=0;i<Hand2;i++)
  424.                                        
  425.                                        /*For the above loop Check if ar[i] is equal to arr[i] for every paralle value of i*/
  426.                                        
  427.                                        if (ar[i]==arr[i])
  428.                
  429.                                           {
  430.                                              
  431.                                              /*Prints Draw condition and ends Programme if condition is met*/
  432.                                              
  433.                                              printf("\nDraw");
  434.                                              return 0;
  435.                                           }
  436.           }
  437.          
  438.           /*Executes Path if Hand1 and Hand2 are equal*/
  439.          
  440.           while (Hand1==Hand2)
  441.           {  
  442.                /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand1*/
  443.                
  444.               for(i=0;i<Hand1;i++)
  445.                
  446.                /*For the above loop Check if ar[i] is smaller than arr[i] for every paralle value of i*/
  447.                
  448.                if (ar[i]<arr[i])
  449.                
  450.                   {
  451.                      
  452.                      /*Prints win condition and ends Programme if condition is met*/
  453.                      
  454.                      printf("\nPlayer 2 Wins");
  455.                      return 0;
  456.                   }
  457.                      
  458.                       /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand1*/
  459.                      
  460.                      for(i=0;i<Hand1;i++)
  461.                      
  462.                      /*For the above loop Check if ar[i] is bigger than arr[i] for every paralle value of i*/
  463.                      
  464.                      if (ar[i]>arr[i])
  465.            
  466.                         {
  467.                            
  468.                            /*Prints win condition and ends Programme if condition is met*/
  469.                            
  470.                            printf("\nPlayer 1 Wins");
  471.                return 0;
  472.                         } 
  473.                            
  474.                             /*Loop, Set's the variable "i" to zero and increments the value of "i" untill it reaches the size of Hand1*/
  475.                
  476.                            for(i=0;i<Hand1;i++)
  477.                            
  478.                            /*For the above loop Check if ar[i] is equal to arr[i] for every paralle value of i*/
  479.                            
  480.                            if (ar[i]==arr[i])
  481.                
  482.                               {
  483.                                  
  484.                                  /*Prints Draw condition and ends Programme if condition is met*/
  485.                                  
  486.                                  printf("\nDraw");
  487.                                  return 0;
  488.                               }
  489.           }}