Олий таълим ўқув режаларидаги фанларга


Тасодифий сонлар генератори



Download 4,03 Mb.
bet32/102
Sana23.02.2022
Hajmi4,03 Mb.
#136190
1   ...   28   29   30   31   32   33   34   35   ...   102
Bog'liq
Dasturlash asoslari majmua

13.7. Тасодифий сонлар генератори
Баъзи холларда массивни тўлдириш учун тасодифий сонлардан фойдаланишга тўғри келади. C# да тасодифий сонларни Random синфи шаблонидан фойдаланиб ҳосил қилинади. Тасодифий сонларни генерация қилиш қуйидагича:


Random <ўзгарувчи-генератор> = new Random();
<тасодифий сонни ўзлаштирувчи ўзгарувчи>=<ўзгарувчи-генератор>.Next([тасодифий соннинг қуйи чегараси][,][тасодифий соннинг юқори чегараси]).
Масалан:
0..100 оралиқдаги таcодифий сонни генерация қилиш учун:

Random r=new Random();


int a=r.Next(100);
Console.WriteLine(a);

Агар 500…1000 гача бўлган тасодифий сонни генерация қилиш учун қуйидагича дастурдан фойдаланилади:
Random r=new Random();
int a=r.Next(500,1000);
Console.WriteLine(a);


Маърузага доир мисоллар
Листинг 13.7.1. Мисол:Бир ўлчамли Массивнинг 2 ёки ундан ортиқ такрорланувчи элементларини сонини аниқланг ва уларни бошқа сонга алмаштиринг

using System;
namespace zadacha_Massiv
{
class Program
{
static void Main(string[] args)
{
Console.Write("Massiv o`lchamini kiriting:");
int n=int.Parse(Console.ReadLine());
int[] massiv = new int[n];
int[] tmparr = new int[n];
int rnn = n+1;
Random rnd=new Random();
Console.WriteLine("Massivning joriy elementlari");
for (int i = 0; i < n; i++)
{
massiv[i]=rnd.Next(rnn);
//{0} ўрнига i, {1} ўрнига massiv[i] қўйилиб чоп қилинади.
Console.WriteLine("massv[{0}]={1}",i,massiv[i]);
}

Console.WriteLine();


Array.Copy(massiv,tmparr,n);

int tmp = 0;


//birinchi tekshiruvdada massiv dagi 0 ga teng bo'lgan elementni tekshirib olish uchun
int sch = 0;
for (int k = 0; k < n; k++)
{
if (tmp == tmparr[k])
{
sch++;
tmparr[k] = 0;
if (sch > 1)
{
l1: int a = rnd.Next(rnn);
if (Array.IndexOf(massiv, a) != -1) goto l1;
else massiv[k] = a;
}
}
}
if (sch == 0) { Console.WriteLine("massiv massivida {0} ga teng elementlar soni: {1} ta", tmp, 1); }
else { Console.WriteLine("massiv massivida {0} ga teng elementlar soni: {1} ta", tmp, sch); }

for(int i=0;i
{
tmp = tmparr[i];
sch = 0;
if (tmp==0) continue;
for (int k = 0; k < n; k++)
{
if (tmparr[k] == 0) continue;
else if (tmp == tmparr[k])
{
sch++;
tmparr[k] = 0;
if (sch > 1)
{
l2: int a = rnd.Next(rnn);
if (Array.IndexOf(massiv, a) != -1) goto l2;
else massiv[k] = a;
}
}
}
if (sch == 0) { Console.WriteLine("massiv massivida {0} ga teng elementlar soni: {1} ta", tmp, 1); }
else { Console.WriteLine("massiv massivida {0} ga teng elementlar soni: {1} ta", tmp, sch); }
}

int j = -1;


foreach (int i in massiv)
{
j=j+1;
Console.Write("massv[{0}]={1}\t", j, i);
Console.WriteLine("tmparr[{0}]={1}", j, tmparr[j]);
}

Console.WriteLine();


Console.ReadKey();
}
}
}


Download 4,03 Mb.

Do'stlaringiz bilan baham:
1   ...   28   29   30   31   32   33   34   35   ...   102




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish