− guruh talabasi Adxamjon Nizametdinovning 2021-yil 5-iyuldan 17-iyulga qadar o‘tkazilgan amaliy malakaviy ishi. Reja



Download 1,06 Mb.
bet12/15
Sana23.07.2022
Hajmi1,06 Mb.
#844213
1   ...   7   8   9   10   11   12   13   14   15
Bog'liq
Adxamjon Amaliyot (1)

9-iyul 2021-yil
5-amaliyot kuni


13-Mavzu: Satirlar bilan ishlash. string turi.


14-Mavzu: Metodlardan foydalanib dastur tuzish.


15-Mavzu: Rekursiv va qayta yuklanuvchi metodlarga oid masalalar yechish.


1-topshiriq 23-variant
Butun toq n (n>1) soni berilgan. n - tartibli ilohiy kvadrat deb 1 dan n2 bo‘lgan sonlarni kvadrat jadvalda shunday joylashtirishga aytiladiki, ixtiyoriy bir satr va ustundagi sonlar yig’indilari ikkita asosiy diagonallar yig‘indisiga teng bo‘ladi. Jadvalni to‘ldirish quyidagi tartibda amalga oshiriladi: birinchi qatorning o‘rtasiga 1 soni joylashtiriladi, keyin yuqori chap tomondagi katakka 2 joylashtiriladi va hakoza. Agar vertikal bo‘yicha jadval chegarasidan chiqiladigan bo‘lsa, pastdagi (yuqoridagi) kataklar ulangan hisoblanib o‘tish amalga oshiriladi. Xuddi shunday holat gorizintal o‘tishlarda ham o‘rinli hisoblalanadi. Misol tariqasida n=5 uchun jadval to‘ldirilishi rasmda kelririlgan.



using static System.Console;

class MainClass {


static void Main() {
Write("N Tog' son kiriting: ");
int n = int.Parse(ReadLine());
int[,] a = Generate(n);

// ekranga chiqaradi javobini


Viewer(a, n);
}

static int[,] Generate(int n) {


int[,] a = new int[n, n];
int k = 1;

// boshlang'ich kordinatalar


int x =n/2, y=0;

yana:
// Har bir o'zgarishni kuzatish uchun


// WriteLine("x={0}, y={1}", x, y);
// Viewer(a, n);

if(a[x, y] > 0) return a;

a[x, y] = k++;

x--; y--;

if(x < 0) x += n;
if(y < 0) y += n;

if(a[x, y]>0) {


x++;
y += 2;
}

if(x >= n) x -= n;


if(y >= n) y -= n;

goto yana;


}

static void Viewer(int[,] a, int n) {


int m = Size(n);

for(int i = 0; i < n; i++) {


for(int j = 0; j < n; j++) {
Write("{1}{0} ",
a[j, i],
Space(m-Size(a[j, i])));
}

WriteLine();


}

WriteLine();


}

static int Size(int n) {


int i = 0;

while(n > 0) {


n /= 10;
i++;
}

return i;


}

static string Space(int n) {


string s = "";

for(int i=0; i<=n; i++) {


s += " ";
}

return s;


}
}



Konsol pastidagi ilohiy kvadrat ekanligini tekshirish kodini yuqoridagi koddan olib tashladim, 27 satr uzunlikda yozilganligi uchun olib tashlandi.



Download 1,06 Mb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   15




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