Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.88 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. namespace Lotto_Exercise
  6. {
  7.     class LottoKupon
  8.     {
  9.         private int numsPerRow = 7;
  10.  
  11.         private int rows;
  12.  
  13.         public int[][] Coupon
  14.         {
  15.             get { return GenerateCoupon(); }
  16.         }
  17.  
  18.         public LottoKupon(int rows)
  19.         {
  20.             this.rows = rows;
  21.         }
  22.  
  23.         // Træk vindertal
  24.         // ... implementer denne metode
  25.  
  26.         // Opsætning af kupon og print til txt fil
  27.         public void PrintCoupon()
  28.         {
  29.             Console.WriteLine($"Lotto {DateTime.Now}");
  30.             Console.WriteLine(" ");
  31.             Console.WriteLine("1-uge");
  32.             Console.WriteLine("LYN-LOTTO");
  33.             Console.WriteLine(" ");
  34.  
  35.             int count = 1;
  36.            
  37.             foreach (int[] rows in Coupon)
  38.             {
  39.                 //string[] printed = new string[]
  40.                
  41.                 string linenumber = count >= 10 ? string.Format("{0}. ", count) : string.Format(" {0}. ", count);
  42.                
  43.                 Console.Write(linenumber);
  44.  
  45.                 foreach (int number in rows)
  46.                 {
  47.                     string numberFormat = number.ToString();
  48.  
  49.                     if (number < 10)
  50.                     {
  51.                         numberFormat = "0" + number.ToString();
  52.                     }
  53.                     Console.Write($"{numberFormat} ");
  54.                 }
  55.                 Console.WriteLine(" ");
  56.  
  57.                 count++;
  58.             }
  59.         }
  60.  
  61.         // Genererer det ønsket antal rækker.
  62.         private int[][] GenerateCoupon()
  63.         {
  64.             int[][] coupon = new int[rows][];
  65.            
  66.             for (int i = 0; i < rows; i++)
  67.             {
  68.                 coupon[i] = NumberSequence();
  69.             }
  70.  
  71.             return coupon;
  72.         }
  73.  
  74.         // Genererer 7 tilfældige og unikke tal
  75.         private int[] NumberSequence()
  76.         {
  77.             int[] numbers = new int[numsPerRow];
  78.  
  79.             for (int i = 0; i < numbers.Length; i++)
  80.             {
  81.                 int nextNumber = RandomNumber();
  82.  
  83.                 while (Array.IndexOf(numbers, nextNumber) != -1)
  84.                 {
  85.                     nextNumber = RandomNumber();
  86.                 }
  87.  
  88.                 numbers[i] = nextNumber;
  89.             }
  90.  
  91.             Array.Sort(numbers);
  92.  
  93.             return numbers;
  94.         }
  95.  
  96.         // Genererer et tilfældigt tal indenfor det givne range (1-36, begge inkl.)
  97.         private int RandomNumber()
  98.         {
  99.             int minRange = 1;
  100.             int maxRange = 37;
  101.            
  102.             if(numsPerRow > maxRange)
  103.             {
  104.                 Console.WriteLine("numsPerRow er større end maxRange --> uendelig loop: fikses");
  105.             }
  106.            
  107.             return new Random().Next(minRange, maxRange);
  108.         }
  109.  
  110.     }
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement