WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   behöver lite hjälp med själva ett random script. (https://www.wn.se/forum/showthread.php?t=1048944)

nabil_akhlaque 2011-07-03 21:56

behöver lite hjälp med ett random script.
 
Hejsan,
behöver lite hjälp med själva ett random script.

säg att jag har en int (iRandomNo) som är 4, då vill jag att det ska slumpas fram 4 siffror i slumpmässig ordning, där hösta siffran = 4 (iRandomNo).

ex
senario 1:
int iRandomNo = 4
output: 2 4 1 3

senario 2:
int iRandomNo = 2
output: 2 1

senario 3:
int iRandomNo = 3
output: 2 1 3

håller på att göra det i asp.net c#... hoppas någon har lust att hjälpa mig på traven

Kekke 2011-07-03 22:08

Kod:


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

namespace rand
{
    class Program
    {
        static Random random = new Random();

        static void Main(string[] args)
        {
            PrintRandomNumbers(5);
            Console.Read();
        }

        static void PrintRandomNumbers(int iRandomNo)
        {
            for (int i = 0; i < iRandomNo; i++)
            {
                Console.Write(random.Next(iRandomNo));
            }
        }
    }
}

Slumpar iRandomNo tal från 0-iRandomNo

nabil_akhlaque 2011-07-03 23:36

Citat:

Ursprungligen postat av Kekke (Inlägg 20410462)
Kod:


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

namespace rand
{
    class Program
    {
        static Random random = new Random();

        static void Main(string[] args)
        {
            PrintRandomNumbers(5);
            Console.Read();
        }

        static void PrintRandomNumbers(int iRandomNo)
        {
            for (int i = 0; i < iRandomNo; i++)
            {
                Console.Write(random.Next(iRandomNo));
            }
        }
    }
}

Slumpar iRandomNo tal från 0-iRandomNo

hej, jag tror inte du förstod fråga rätt, det kan ha varit jag som inte förklara tillräckligt bra,
men enligt din skript:

om jag t ex anropar:

PrintRandomNumbers(5);

kan jag få outputet: 32303

vilket jag inte vill...

jag vill att om jag anropar PrintRandomNumbers(5);
ska output bli 13452

dvs 12345 i random ordning.

så...

PrintRandomNumbers(5) = 12345 i random ordning
PrintRandomNumbers(3) = 123 i random ordning
PrintRandomNumbers(9) = 123456789 i random ordning
PrintRandomNumbers(2) = 12 i random ordning

och inga dubletter får förekomma.

Kekke 2011-07-03 23:51

In that case;

Kod:

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

namespace rand
{
    class Program
    {
        static Random random = new Random();

        static void Main(string[] args)
        {
            PrintRandomNumbers(5);
            Console.Read();
        }

        static void PrintRandomNumbers(int iRandomNo)
        {
            int[] Numbers = new int[iRandomNo];
            int i = 0;
            while (i < iRandomNo)
            {
                int CurrentNumber = random.Next(1, iRandomNo+1);

                if (!NumberExists(Numbers, CurrentNumber))
                {
                    Numbers[i] = CurrentNumber;
                    i++;
                }

               
            }

            foreach (int num in Numbers)
            {
                Console.Write(num);
            }
        }

        static bool NumberExists(int[] NumberArray, int Number)
        {
            for (int i = 0; i < NumberArray.Length; i++)
            {
                if (Number == NumberArray[i])
                    return true;
            }
            return false;
        }
    }
}


nabil_akhlaque 2011-07-04 01:45

Tackar!! exakt vad jag letade efter...


Alla tider är GMT +2. Klockan är nu 09:14.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson