Ma’ruza mashg`ulot uchun


Listing 6.7 Pog‘anasimon massivlar bilan ishlashda foreach operatorini qo‘llash


Download 0.85 Mb.
bet31/49
Sana19.06.2023
Hajmi0.85 Mb.
#1600219
1   ...   27   28   29   30   31   32   33   34   ...   49
Bog'liq
1-semestr maruzalar

Listing 6.7 Pog‘anasimon massivlar bilan ishlashda foreach operatorini qo‘llash


6.7. Tasodifiy sonlar generatori
Ba’zi xollarda massivni to‘ldirish uchun tasodifiy sonlardan foydalanishga to‘g‘ri keladi. C# da tasodifiy sonlarni Random sinfi shablonidan foydalanib hosil qilinadi. Tasodifiy sonlarni generatsiya qilish quyidagicha:
Random = new Random();
=.Next([tasodifiy sonning quyi chegarasi][,][tasodifiy sonning yuqori chegarasi]).
Masalan:
0..100 oraliqdagi tacodifiy sonni generatsiya qilish uchun:
Random r=new Random();
int a=r.Next(100);
Console.WriteLine(a);

Agar 500…1000 gacha bo‘lgan tasodifiy sonni generatsiya qilish uchun quyidagicha dasturdan foydalaniladi:
Random r=new Random();
int a=r.Next(500,1000);
Console.WriteLine(a);
Ma’ruzaga doir misollar
Listing 6.7. Misol:Bir o‘lchamli Massivning 2 yoki undan ortiq takrorlanuvchi elementlarini sonini aniqlang va ularni boshqa songa almashtiring

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} o‘rniga i, {1} o‘rniga massiv[i] qo‘yilib chop qilinadi.
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 0.85 Mb.

Do'stlaringiz bilan baham:
1   ...   27   28   29   30   31   32   33   34   ...   49




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