Slumpfunktion i C++
Jag ska slumpa ett antal heltal m h a slumpfunktionen rand().
Tyvärr så får jag flera nummer som är lika. Hur gör jag för att välja bort dubletterna? Jag lagrar i vektor(array)
"Ny i C++"
Tack på förhand!
1 svar · 519 visningar · startad av Carro
Slumpfunktion i C++
Jag ska slumpa ett antal heltal m h a slumpfunktionen rand().
Tyvärr så får jag flera nummer som är lika. Hur gör jag för att välja bort dubletterna? Jag lagrar i vektor(array)
"Ny i C++"
Tack på förhand!
Hej och välkommen hem 
För att slumpa olika tal kan du placera randomize() ovanför dina rand-anrop.
För att kontrollera att det inte blir några dubletter måste du gå igenom hela vektorn och se om talet redan är taget.
Jag har skrivit ett exempel som slumpar 10 tal mellan 0 och 99. Det kan säkert komma till användning. Undrar du över någon rad kan du fråga om den.
Lycka till...
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Perl-kod:<pre>
#include <stdlib.h> // standard-bibliotek
#include <stdio.h> // konsoll-funktioner
#include <conio.h> // getch()
void main()
{
// Slumpa 10 tal
randomize();
int tal[10];
for(int no = 0; no<10; no++)
{
int nytttal;
do
{
nytttal = rand() % 100;
for(int no2 = 0; no2<no; no2++)
{
if(tal[no2] == nytttal)
{
nytttal = 100;
break;
}
}
} while (nytttal == 100);
tal[no] = nytttal;
}
// Skriv ut resultatet
for(int no = 0; no<10; no++)
printf("%d\n", tal[no]);
getch(); // Vänta på knapptryck
}
------------------
/mvh Swey
- Ta dagen som den kommer