Avatar billede delphiuser Mester
05. februar 2020 - 17:27 Der er 2 kommentarer og
1 løsning

Lottokupon

Hej Eksperter.

Jeg sidder og er igang med at kode en lotto kupon i C# console. det er en del af et skole projekt. Men er gået godt og grundigt i stå.

Programmet skal køre random numre hvilket virker fint.
men jeg skal kunne vælge x antal rækker som skal kunne udskrives.
men den udskriver kun en række.

her kommer min kode:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lottokupon
{
    class Program
    {
        static void Main(string[] args)
        {
            // Her laver jeg min variabler
            int tal = 0, FørsteNummer = 1, SidsteNummer = 36, antalNumre = 0, antalRækker, numre, rows = 0;
            Random rand = new Random();


            // Her laver jeg bruger input på hvor mange rækker en bruger ønsker på sin lottokupon.
            Console.Write("Skriv antal rækker 1 - 10 : ");
            antalRækker = Convert.ToInt32(Console.ReadLine());

            antalNumre = antalRækker * 7;

            Console.WriteLine($"Antal spillet rækker: {antalRækker}");
            Console.WriteLine($"Antal numre på kuponen: {antalNumre}");

            bool[] lottonumre = new bool[antalNumre];

            Console.WriteLine();
            Console.WriteLine("Lotto Kupon");

            for (int i = 0; i < antalRækker; i++)
            {
                while (tal < 7)
                {
                    numre = rand.Next(FørsteNummer, SidsteNummer);

                    if (!lottonumre[numre])
                    {
                        lottonumre[numre] = true;
                        tal++;
                        Console.Write(numre.ToString().PadLeft(4));
                    }
                   
                }
            }
           
            Console.ReadKey();
        }
    }
}

håber der er en som kan hjælpe og vise mig en løsning.

venlig hilsen

delphiuser
Avatar billede arne_v Ekspert
05. februar 2020 - 19:19 #1
Aldeles utestet men et forslag:

for (int i = 0; i < antalRækker; i++)
            {
                while (tal < 7)
->
for (int i = 0; i < antalRækker; i++)
            {
                tal = 0;
                while (tal < 7)
Avatar billede delphiuser Mester
06. februar 2020 - 07:07 #2
Jeg får denne kode når jeg køre programmet.

dette er taget fra programmet når det køre.
Skriv antal rækker 1 - 10 : 5
Antal spillet rækker: 5
Antal numre på kuponen: 35

Lotto Kupon
  20  23  5  7  34  8  31  2  12  21  32  16  25


System.IndexOutOfRangeException
  HResult=0x80131508
  Message=Indekset lå uden for matrixens grænser.
  Source=Lottokupon
  StackTrace:
  at Lottokupon.Program.Main(String[] args) in C:\Users\micha\Documents\Studie\H1\Programmering\Opgaver\Lottokupon\Lottokupon\Program.cs:line 39

Jeg er helt blank lige pt med dette program.
Avatar billede arne_v Ekspert
06. februar 2020 - 21:58 #3
De her 3 passer vist ikke sammen:

antalNumre = antalRækker * 7;

bool[] lottonumre = new bool[antalNumre];

numre = rand.Next(FørsteNummer, SidsteNummer);
if (!lottonumre[numre])
{
        lottonumre[numre] = true;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Netcompany A/S

Test Specialist

Udviklings- og Forenklingsstyrelsen

Erfarne udviklere til agilt udviklingsteam

Staten og Kommunernes Indkøbsservice A/S (SKI)

IT-udvikler