1-Mavzu 1-Mavzu Reja: Klass a’zolariga ruxsatni boshqarish


// Out tipidagi ikkita parametrdan foydalanish


Download 116.94 Kb.
bet30/100
Sana02.01.2022
Hajmi116.94 Kb.
#200801
1   ...   26   27   28   29   30   31   32   33   ...   100
Bog'liq
dasturiy injinering

// Out tipidagi ikkita parametrdan foydalanish.

using System;

class Num {

/*X va y o'zgaruvchilar soni qiymatlarining umumiy bo`luvchisi bor yoki yo'qligini aniqlash. Agar mavjud bo'lsa, out tipli parametrlar orqali eng kichik va eng katta bo`luvchilarni qaytarish.*/

public bool HasComFactor(int x, int y,

out int least, out int greatest) {

int i;

int max = x < у ? x : y;

bool first = true;

least = 1;

greatest = 1;

// Eng kichik va eng katta umumiy bo`luvchilarni topish.

for(i=2; i <= max/2 + 1; i++) {

if( ((y%i)==0) & ((x%i)==0) ) {

if(first) {

least = i;

first = false;

}

greatest = i;

}

}

if(least != 1) return true;

else return false;

}

}

class DemoOut {

static void Main() {

Num ob = new Num();

int lcf, gcf;

if(ob.HasComFactor(231, 105, out lcf, out gcf)) {

Console.WriteLine("Наименьший общий множитель " +

"чисел 231 и 105 равен " + lcf);

Console.WriteLine("Наибольший общий множитель " +

"чисел 231 и 105 равен " + gcf);

}

else

Console.WriteLine("Общий множитель у чисел 35 и 49 отсутствует.");

if(ob.HasComFactor(35, 51, out lcf, out gcf)) {

Console.WriteLine("Наименьший общий множитель " +

"чисел 35 и 51 равен " + lcf);

Console.WriteLine("Наибольший общий множитель " +

"чисел 35 и 51 равен " + gcf);

}

else

Console.WriteLine("Общий множитель у чисел 35 и 51 отсутствует.");



}

}

Shuni esda tutingkiHasComFactor() metodi chaqirilishidan oldin lcf va gcf o'zgaruvchilarning qiymatlari Main()  metodi tomonidan belgilanadi. Agar HasComFactor() metodi parametrlari out emas, balki ref tipida bo'lsa, bu xatoga olib keladi. Ushbu metod ikki butun sonning umumiy bo`luvchisi mavjudligiga qarabtrue yoki false mantiqiy qiymatni qaytaradi. Agar mavjud bo'lsa, out tipidagi parametrlar yordamida ushbu sonlarning eng kichik va eng katta umumiy bo`luvchilari qaytariladi.

Download 116.94 Kb.

Do'stlaringiz bilan baham:
1   ...   26   27   28   29   30   31   32   33   ...   100




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