Avatar billede Slettet bruger
07. august 2012 - 14:36 Der er 12 kommentarer og
1 løsning

Tilfældige tal

Hej
Ja jeg tør næsten ikke skrive dette, og jeg er da også ved at krybe i et musehul, men nu de fikse routine - Random - , tilfældige tal, kunne den også blive sorteret, således at det mindste stod først.
Med venlig hilsen
Ole
Avatar billede runesoft Nybegynder
07. august 2012 - 14:44 #1
Ja den kan den. Men du bliver nødt til at være en smule mere konkret hvis du vil have et konkret svar.
Avatar billede arne_v Ekspert
07. august 2012 - 15:07 #2
Nu kan jeg jo huske det andet spm..

:-)

List<int> newlist = dithashset.ToList();
newlist.Sort

Skulle fixe det.
Avatar billede Slettet bruger
07. august 2012 - 22:08 #3
Hej runesoft
Ja du har jo ret, det var jo bare sådan, at jeg vidste hvad jeg spurgte om, men det drejer sig om, at jeg også her havde spurgt om Random tal, og jeg har fået et godt svar, som jeg har kopieret her:
using System;
using System.Collections.Generic;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Random rnd = new Random();
            var list = new HashSet<int>();
            Console.WriteLine("Tilfældige tal".ToUpper());
            var loops = 0;
            while(list.Count != 10 && loops < 100000)
            {
                list.Add(rnd.Next(0, 4));
                loops++;
            }

            foreach (var i in list)
            {
                Console.WriteLine("{0}", i);
            }
        }
    }
}

Og så er det jo som det plejer, at mer vil have mer, og derfor spurgte jeg, om hvorledes man sorterede de tilfældige tal, således at det laveste kom til at stå først og tallene derefter stod med stigende værdi.
arne_v tak for dit svar, jeg har ikke prøvet det endnu, men det værste er, at jeg ikke rigtig forstå hvad og hvorfor hvad sker.
Men jeg håber, at nogen kan løse denne opgave.
m.v.h.
Ole
Avatar billede arne_v Ekspert
07. august 2012 - 22:50 #4
foreach (var i in list)
            {
                Console.WriteLine("{0}", i);
            }

->

List<int> newlist = list.ToList();
newlist.Sort

            foreach (var i in newlist)
            {
                Console.WriteLine("{0}", i);
            }
Avatar billede arne_v Ekspert
07. august 2012 - 22:51 #5
newlist.Sort

skal vaere

newlist.Sort();
Avatar billede Slettet bruger
08. august 2012 - 11:59 #6
Hej arne_v
Nu har jeg forsøgt at skrive dine kommentare ind i mit program, men jeg får en fejl som jeg, som jeg ikke kan forstå:
Nu ser mit program sådan ud:
using System;
using System.Collections.Generic;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Random rnd = new Random();
            var list = new HashSet<int>();
            Console.WriteLine("\nTilfældige tal".ToUpper());
            var loops = 0;
            while (list.Count != 10 && loops < 100000)
            {
                list.Add(rnd.Next(1, 100));
                loops++;
            }

            foreach (var i in list)
            {
                Console.WriteLine("\n\t{0}", i);
            }
    //      List<int> = newList = list.ToList();
    //      newlist.Sort();
    //        foreach (var i in newlist)
    //        {
    //          Console.WriteLine("{0}",i);
      //      }
            Console.ReadKey();
                  }
            }
}
Men det kan da nemt være, at det er en fejl 40 cm.
m.v.h.
Oloe
Avatar billede bvli Praktikant
08. august 2012 - 14:22 #7
Du har et lighedstegn for meget i din definition af newList.

var newList = list.ToList();

Og du skal inkludere System.Linq i dine usings.

using System;
using System.Collections.Generic;
using System.Linq;
Avatar billede bvli Praktikant
08. august 2012 - 14:23 #8
Men hvorfor har du valgt at lave det som et HashSet i første omgang? Det tager noget længere tid at indsætte i et hashset end en almindelig list. Hvis du smider tallene ind i en list til at starte med, så kan du kalde sort bagefter og du skulle være der..
Avatar billede arne_v Ekspert
08. august 2012 - 14:33 #9
han skal undgaa duplikater
Avatar billede bvli Praktikant
08. august 2012 - 14:46 #10
Ah ok..
Avatar billede Slettet bruger
08. august 2012 - 16:36 #11
Hej alle!
Ja bvli har jo ret, der var et lihedstegn for meget, og hvor det er kommet fra, ja det er ikke godt at vide????
Men mange tak for hjælpen, nu gør programmet det jeg ønskede.
Nu vil jeg findé ud af hvorfor det gør hvad.
Tak for hjælpen.
M.v.h.
OLe
Avatar billede Slettet bruger
12. august 2012 - 16:08 #12
Hej her
Er der ikke en af dem der har svaret, der kunne skrive et svar, således at jeg kunne give point og lukke denne tråd.
m.v.h.
Ole
Avatar billede arne_v Ekspert
12. august 2012 - 16:20 #13
ok
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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