Sinflar
Vector yordamida to’plamni hosil qilish amalinini bajaruvchi, to’plamda qiymatlarni chop
qiluvchi TUPLAM sinfi yaratilsin. To’plam ustida asosiy amallarni – to’plamga yangi element
qo’shish va o’chirish, tuplamlar keshishmasini, birlashmasini, hamda ayirmasini bajaradigan
funksiyalar-a`zolari bo’lgan TUPLAM_AMALLARI sinfi TUPLAM sinfi vorisi qilib
aniqlansin.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace ConsoleApp14
class TUPLAM
public List<string> tuplam = new List<string>();
public virtual void getInfo()
foreach (string i in tuplam)
Console.WriteLine(i);
public void qoshish(string i)
tuplam.Add(i);
public void ochirish(string i)
tuplam.Remove(i);
}
}
class TUPLAM_AMALLARI : TUPLAM
public List<TUPLAM> tuplamlar = new List<TUPLAM>();
public void add(TUPLAM y)
tuplamlar.Add(y);
public void delete(int index)
tuplamlar.RemoveAt(index);
public void print()
int o = 0;
foreach (TUPLAM i in tuplamlar)
Console.WriteLine($"{o}-to'plam");
foreach (string j in i.tuplam)
Console.Write(j + " ");
o++;
Console.WriteLine();
public void birlashma()
List<string> nat = new List<string>();
foreach (TUPLAM k in tuplamlar)
{
foreach (string i in k.tuplam)
if (!nat.Contains(i))
nat.Add(i);
foreach (string i in nat)
Console.WriteLine(i);
public void kesishma()
List<string> nat1 = new List<string>();
foreach (TUPLAM k in tuplamlar)
foreach (string i in k.tuplam)
bool q = true;
foreach (TUPLAM l in tuplamlar)
q = q && l.tuplam.Contains(i);
if (q == true && !nat1.Contains(i))
nat1.Add(i);
foreach (string i in nat1)
Console.WriteLine(i);
}
}
public void ayirma(int index)
List<string> s = new List<string>();
List<string> a = tuplamlar[index].tuplam;
foreach (string n in a)
bool q = true;
for (int i = 0; i < tuplamlar.Count; i++)
if (i != index)
q = q && !tuplamlar[i].tuplam.Contains(n);
if(q)
s.Add(n);
foreach (string i in s)
Console.WriteLine(i);
class Program
static TUPLAM_AMALLARI tuplamlar1 = new TUPLAM_AMALLARI();
static void Main(string[] args)
main();
Console.ReadLine();
static void main()
{
Console.WriteLine("1.To'plam qo'shish");
Console.WriteLine("2.To'plamga element qo'shish");
Console.WriteLine("3.To'plamdan element o'chirish");
Console.WriteLine("4.To'plam o'chirish");
Console.WriteLine("5.Kesishma");
Console.WriteLine("6.Birlashma");
Console.WriteLine("7.Ayirma");
Console.WriteLine("8.To'plamlarni ko'rish");
Console.WriteLine("0.Chiqish");
Console.Write(">>>>>>>>>>> ");
int a = Convert.ToInt32(Console.ReadLine());
switch (a)
case 1:
Console.Write("Nechta element qo'shmoqchisiz: ");
int n = Convert.ToInt32(Console.ReadLine());
TUPLAM tup = new TUPLAM();
for (int i = 0; i < n; i++)
Console.Write($"{i}-element: ");
string e = Console.ReadLine();
tup.qoshish(e);
tuplamlar1.add(tup);
Console.WriteLine("\n\n\n\n");
main();
break;
case 2:
tuplamlar1.print();
Console.Write("To'plamni kiriting(index): ");
int r = Convert.ToInt32(Console.ReadLine());
Console.Write("Nechta element qo'shmoqchisiz: ");
int m = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < m; i++)
string e = Console.ReadLine();
tuplamlar1.tuplamlar[r].qoshish(e);
Console.WriteLine("\n\n\n\n");
main();
break;
case 3:
tuplamlar1.print();
Console.Write("To'plamni kiriting(index): ");
int y = Convert.ToInt32(Console.ReadLine());
Console.Write("Qaysi elementni qo'shmoqchisiz: ");
string k = Console.ReadLine();
tuplamlar1.tuplamlar[y].ochirish(k);
Console.WriteLine("\n\n\n\n");
main();
break;
case 4:
tuplamlar1.print();
Console.Write("To'plamni kiriting(index): ");
int q = Convert.ToInt32(Console.ReadLine());
Console.Write("Qaysi to'plamni qo'shmoqchisiz: ");
int w = Convert.ToInt32(Console.ReadLine());
tuplamlar1.delete(w);
Console.WriteLine("\n\n\n\n");
main();
break;
case 5:
tuplamlar1.birlashma();
Console.WriteLine("\n\n\n\n");
main();
break;
case 6:
tuplamlar1.kesishma();
Console.WriteLine("\n\n\n\n");
main();
break;
case 7:
tuplamlar1.print();
Console.Write("To'plamni kiriting(index): ");
int u = Convert.ToInt32(Console.ReadLine());
tuplamlar1.ayirma(u);
Console.WriteLine("\n\n\n\n");
main();
break;
case 8:
tuplamlar1.print();
Console.WriteLine("\n\n\n\n");
main();
break;
default:
Console.WriteLine("Dastur tugadi...");
break;
}
Vorislik
Shaxsning familiyasi va ismi, tug‘ilgan yili, jinsi, yashash manzili va telefon nomeri bo‘yicha
ma’lumotni xotirada saqlash, qiymat o‘qish va chop qilish amalini bajaruvchi SHAXS sinfi
yaratilsin. Uning vorisi qilib talabalar guruhini tavsivlovchi TALABA sinfi yaratilsin. Unda
qo‘shimcha ravishda talabaning o‘qiydigan guruh nomi, kursi haqida ma’lumot bo‘lishi kerak.
TALABA sinfi obektlari chiziqli ro‘yxatini yaratgan holda, qandaydir alomat bo‘yocha talabani
izlash (familiya, tug‘ilgan yili yoki telefon nomeri bo‘yicha), ro‘yxatga yangi yozuvni qo‘shish,
o‘chirish va tartiblash amallari bajarilsin.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ConsoleApp7
{
class SHAXS
{
public string ism { get; set; }
public string familiya { get; set; }
public string tugilgan_yil { get; set; }
public string jins { get; set; }
public string yashash_manzil { get; set; }
public string telefon_raqam { get; set; }
public virtual void getInfo()
{
Console.WriteLine($"Ismi: {ism}");
Console.WriteLine($"Familiya: {familiya}");
Console.WriteLine($"Tugilgan yili: {tugilgan_yil}");
Console.WriteLine($"Jinsi: {jins}");
Console.WriteLine($"Yashash manizili: {yashash_manzil}");
Console.WriteLine($"Telefon raqami: {telefon_raqam}");
}
}
class TALABALAR_GURUHI : SHAXS
{
public string kurs { get; set; }
public string guruh_nomi { get; set; }
public override void getInfo()
{
Console.WriteLine($"Ismi: {ism}");
Console.WriteLine($"Familiya: {familiya}");
Console.WriteLine($"Tugilgan yili: {tugilgan_yil}");
Console.WriteLine($"Jinsi: {jins}");
Console.WriteLine($"Yashash manizili: {yashash_manzil}");
Console.WriteLine($"Telefon raqami: {telefon_raqam}");
Console.WriteLine($"Kursi: {kurs}");
Console.WriteLine($"Guruh nomi: {guruh_nomi}");
}
}
class Program
{
static List<TALABALAR_GURUHI> talabalar = new List<TALABALAR_GURUHI>();
static void Main(string[] args)
{
main();
Console.ReadKey();
}
static void main()
{
Console.WriteLine("1.Talaba qo'shish");
Console.WriteLine("2.Talabalar haqida ma'lumot");
Console.WriteLine("3.Talaba o'chirish");
Console.WriteLine("4.Talabalarni tartiblash");
Console.WriteLine("5.Talaba qidirish");
Console.WriteLine("0.Chiqish");
Console.Write(">>>>>>>>>>> ");
int a = Convert.ToInt32(Console.ReadLine());
switch (a)
{
case 1:
Console.Write("Ismini kiriting: ");
string ism = Console.ReadLine();
Console.Write("Familiyasini kiriting: ");
string familiya = Console.ReadLine();
Console.Write("Tugilgan yilini kiriting: ");
string tugilgan_yil = Console.ReadLine();
Console.Write("Jinsini kiriting: ");
string jins = Console.ReadLine();
Console.Write("Yashash manzilini kiriting: ");
string yashash_manzil = Console.ReadLine();
Console.Write("Telefon raqamini kiriting: ");
string telefon_raqam = Console.ReadLine();
Console.Write("Kursini kiriting: ");
string kurs = Console.ReadLine();
Console.Write("Guruhi nomini kiriting: ");
string guruh_nomi = Console.ReadLine();
talabalar.Add(new TALABALAR_GURUHI() { ism = ism, familiya =
familiya, tugilgan_yil = tugilgan_yil, jins = jins, yashash_manzil = yashash_manzil,
telefon_raqam = telefon_raqam, kurs = kurs, guruh_nomi = guruh_nomi });
Console.WriteLine("\n\n\n\n");
main();
break;
case 2:
int i = 1;
foreach(TALABALAR_GURUHI talaba in talabalar)
{
Console.WriteLine();
Console.WriteLine($"{i}-talaba haqida ma'lumot:");
talaba.getInfo();
i++;
}
Console.WriteLine("\n\n\n\n");
main();
break;
case 3:
int j = 1;
foreach (TALABALAR_GURUHI talaba in talabalar)
{
Console.WriteLine();
Console.WriteLine($"{j}-talaba haqida ma'lumot:");
talaba.getInfo();
j++;
}
Console.WriteLine("\n\n");
Console.Write("Qaysi talabani o'chirmoqchisiz(tartib nomerini
kiriting): ");
int nomer = Convert.ToInt32(Console.ReadLine());
talabalar.RemoveAt(nomer);
Console.WriteLine("\n\n\n\n");
main();
break;
case 4:
List<TALABALAR_GURUHI> tartiblangan = new List<TALABALAR_GURUHI>();
while (talabalar.Count > 0)
{
string min = talabalar[0].ism;
int index = 0;
for (int k = 0; k < talabalar.Count; k++)
{
if ((int)talabalar[k].ism[0] < (int)min[0])
{
min = talabalar[k].ism;
index = k;
}
}
tartiblangan.Add(new TALABALAR_GURUHI() { ism =
talabalar[index].ism, familiya = talabalar[index].familiya, tugilgan_yil =
talabalar[index].tugilgan_yil, jins = talabalar[index].jins, yashash_manzil =
talabalar[index].yashash_manzil, telefon_raqam = talabalar[index].telefon_raqam, kurs =
talabalar[index].kurs, guruh_nomi = talabalar[index].guruh_nomi });
talabalar.RemoveAt(index);
}
talabalar = tartiblangan;
Console.WriteLine("\n\n\n\n");
main();
break;
case 5:
Console.Write("Talaba haqida biron ma'lumot kiriting: ");
string malumot = Console.ReadLine();
foreach (TALABALAR_GURUHI talaba in talabalar)
{
if(talaba.ism == malumot || talaba.familiya == malumot ||
talaba.tugilgan_yil == malumot || talaba.jins == malumot || talaba.yashash_manzil ==
malumot || talaba.telefon_raqam == malumot || talaba.kurs == malumot || talaba.guruh_nomi
== malumot)
{
Console.WriteLine("\n\n");
talaba.getInfo();
}
}
Console.WriteLine("\n\n\n\n");
main();
break;
default:
Console.WriteLine("Dastur tugadi...");
break;
}
}
}
}
Interfeys
Butun
a 1 , a2 , .. . .a 10 sonlari berilgan, faraz qilaylik, 10 ta tosh bo'lib, ularning og’irliklari mos
ravishda
a 1 .....a10 , c k −m k og’irlikni xosil qilish usullari soni bo’lsin, ya'ani har bir c k -
a 1 x 1 + .. .+a10 x 10=mk tenglama yechimlaridir, bu yerda x (i=1,..,10) o‘zgaruvchisi 0 yoki 1
i
qiymat qabul qiladi. Berilgan 1 2
m , m , .. . ,m
10 og’irliklar uchun c 1 , .. . , c 10− hosil qilinsin. (Sinf
nomi an_n, umumlashgan interfeys nomi AN_N)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace interfeys_11
{
interface AN_N
{
double[] C();
}
class an_n : AN_N
{
public int[] A { get; set; }
public double[] M { get; set; }
public int[] X { get; set; }
public double[] C()
{
double[] c = new double[10];
double sum = 0;
for(int i = 0; i < 10; i++)
{
sum += A[i] * X[i];
}
for (int i = 0; i < 10; i++)
{
c[i] = M[i] + sum;
}
return c;
}
}
class Program
{
static void Main(string[] args)
{
int[] A = new int[10];
double[] M = new double[10];
int[] X = new int[10];
for (int i = 0; i < 10; i++)
{
Console.Write($"A{i+1} = ");
A[i] = Convert.ToInt32(Console.ReadLine());
Console.Write($"M{i + 1} = ");
M[i] = Convert.ToDouble(Console.ReadLine());
Console.Write($"X{i + 1} = ");
X[i] = Convert.ToInt32(Console.ReadLine());
}
an_n an = new an_n() { A = A, M = M, X = X };
double[] C = an.C();
Console.Write("C:");
foreach(double i in C)
{
Console.Write($" {i}");
}
Console.ReadLine();
}
}
}
Umumlashgan sinf
Kitobning nomi, muallifi, nashriyoti nomi va chop qlingan yili bo‘yicha berilganlarni xotirada
saqlash, qiymat o‘qish va chop qilish amalini bajaruvchi umumlashgan interface KITOB
yaratilsin. Uning vorisi bo‘lgan umulashgan UY_KUTUBXONASI sinfida - uy manzili,
kutubxona egasi familiya, ismi haqida ma’lumotlar bo‘lsin.
UY_KUTUBXONASI sinfida obyektlari chiziqli zanjirini yaratgan holda unda ixtiyoriy sondagi
kitoblar bilan ishlash, qandaydir alomati bo‘yocha kitobni izlash (muallif, yil yoki uy manzil
bo‘yicha va hokazo), yangi kitobni qo‘shish va o‘chirish amalga oshirilsin.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp8
{
class KITOB
{
public string nomi { get; set; }
public string muallifi { get; set; }
public string nashriyot_nomi { get; set; }
public string chop_qilingan_yili { get; set; }
public virtual void getInfo()
{
Console.WriteLine($"Kitob nomi: {nomi}");
Console.WriteLine($"Kitob muallifi: {muallifi}");
Console.WriteLine($"Kitob nashriyoti: {nashriyot_nomi}");
Console.WriteLine($"Kitob chop etilgan yili: {chop_qilingan_yili}");
}
}
class UYKUTUBXONASI: KITOB
{
public string manzil { get; set; }
public string ism { get; set; }
public string familiya { get; set; }
public override void getInfo()
{
Console.WriteLine($"Kitob nomi: {nomi}");
Console.WriteLine($"Kitob muallifi: {muallifi}");
Console.WriteLine($"Kitob nashriyoti: {nashriyot_nomi}");
Console.WriteLine($"Kitob chop etilgan yili: {chop_qilingan_yili}");
Console.WriteLine($"Kitob egasi ismi: {ism}");
Console.WriteLine($"Kitob egasi familiyasi: {familiya}");
Console.WriteLine($"Kitob egasi manzili: {manzil}");
}
}
class Program
{
static List<UYKUTUBXONASI> kitoblar = new List<UYKUTUBXONASI>();
static void Main(string[] args)
{
main();
Console.ReadLine();
}
static void main()
{
Console.WriteLine("1.Kitob qo'shish");
Console.WriteLine("2.Kitob haqida ma'lumot");
Console.WriteLine("3.Kitob o'chirish");
Console.WriteLine("4.Kitob qidirish");
Console.WriteLine("0.Chiqish");
Console.Write(">>>>>>>>>>> ");
int a = Convert.ToInt32(Console.ReadLine());
switch (a)
{
case 1:
Console.Write("Kitob nomini kiriting: ");
string nomi = Console.ReadLine();
Console.Write("Kitob muallifini kiriting: ");
string mualif = Console.ReadLine();
Console.Write("Kitob nashriyotini kiriting: ");
string nashriyot = Console.ReadLine();
Console.Write("Kitob chop etilgan kiriting: ");
string chop_etilgan_yili = Console.ReadLine();
Console.Write("Kitob egasi ismini kiriting: ");
string ism = Console.ReadLine();
Console.Write("Kitob egasi familiyasini kiriting: ");
string familya = Console.ReadLine();
Console.Write("Kitob egasi manzili kiriting: ");
string manzil = Console.ReadLine();
kitoblar.Add(new UYKUTUBXONASI()
{ nomi=nomi,muallifi=mualif,nashriyot_nomi=nashriyot,chop_qilingan_yili=chop_etilgan_yili
,ism=ism,familiya=familya,manzil=manzil});
Console.WriteLine("\n\n\n\n");
main();
break;
case 2:
int i = 1;
foreach (UYKUTUBXONASI kitob in kitoblar)
{
Console.WriteLine();
Console.WriteLine($"{i}-kitob haqida ma'lumot:");
kitob.getInfo();
i++;
}
Console.WriteLine("\n\n\n\n");
main();
break;
case 3:
int j = 1;
foreach (UYKUTUBXONASI kitob in kitoblar)
{
Console.WriteLine();
Console.WriteLine($"{j}-talaba haqida ma'lumot:");
kitob.getInfo();
j++;
}
Console.WriteLine("\n\n");
Console.Write("Qaysi talabani o'chirmoqchisiz(tartib nomerini
kiriting): ");
int nomer = Convert.ToInt32(Console.ReadLine());
kitoblar.RemoveAt(nomer);
Console.WriteLine("\n\n\n\n");
main();
break;
case 4:
Console.Write("Kitob haqida biron ma'lumot kiriting: ");
string malumot = Console.ReadLine();
foreach (UYKUTUBXONASI kitob in kitoblar)
{
if (kitob.nomi == malumot || kitob.muallifi == malumot ||
kitob.nashriyot_nomi == malumot || kitob.chop_qilingan_yili == malumot || kitob.ism ==
malumot || kitob.familiya == malumot || kitob.manzil == malumot)
{
Console.WriteLine("\n\n");
kitob.getInfo();
}
}
Console.WriteLine("\n\n\n\n");
main();
break;
default:
Console.WriteLine("Dastur tugadi...");
break;
}
}
}
}
Umumlashgan delegatlar
Har biri 2 tadan 10 tagacha lotin harflaridan iborat 2 dan 30 gacha bo‘lgan so‘zlar ketma-ketligi
berilgan. So‘zlar bir-biri bilan kamida bitta probel bilan ajratilgan va oxirgi so‘z nuqta bilan
tugaydi. Ketma-ketlikning oxirgi so‘zidan farqli barcha so‘zlar quyidagi qoida bo‘yicha
o‘zgartirilsin:
a) so‘zdagi birinchi harfi uning oxiriga o‘tkazilsin;
b) so‘zdagi oxirgi harf uning boshiga o‘tkazilsin;
d) so‘zdagi birinchi harf olib tashlansin. (Sinf nomi k_K, umumlashgan delegat nomi k_k)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace oktam
{
class k_K
{
public List<string> suzlar { get; set; }
public delegate List<string> k_k(List<string> suzlar);
public void funkA(k_k obj)
{
foreach(string i in obj(suzlar))
{
string a = "";
for(int j = 1; j < i.Length; j++)
{
a += i[j];
}
a += i[0];
Console.WriteLine(a);
}
}
public void funkB(k_k obj)
{
foreach (string i in obj(suzlar))
{
string a = "";
a += i[i.Length - 1];
for (int j = 0; j < i.Length - 1; j++)
{
a += i[j];
}
Console.WriteLine(a);
}
}
public void funkC(k_k obj)
{
foreach (string i in obj(suzlar))
{
string a = "";
for (int j = 1; j < i.Length; j++)
{
a += i[j];
}
Console.WriteLine(a);
}
}
}
class Program
{
static void Main(string[] args)
{
Console.Write("So'z kiriting: ");
string suz = Console.ReadLine();
string[] a = suz.Split();
a[a.Length - 1] = a[a.Length - 1].Substring(0, a[a.Length - 1].Length - 1);
List<string> suzlar = new List<string>();
for (int i = 0; i < a.Length; i++)
{
if (a[i].Length > 0)
suzlar.Add(a[i]);
}
k_K kk = new k_K() { suzlar = suzlar };
Console.WriteLine("a) so‘zdagi birinchi harfi uning oxiriga o‘tkazilsin");
Console.WriteLine("b) so‘zdagi oxirgi harf uning boshiga o‘tkazilsin");
Console.WriteLine("d) so‘zdagi birinchi harf olib tashlansin");
string s = Console.ReadLine();
switch (s)
{
case "a":
kk.funkA(fun);
break;
case "b":
kk.funkB(fun);
break;
default:
kk.funkC(fun);
break;
}
Console.ReadLine();
}
static List<string> fun(List<string> suzlar)
{
List<string> a = new List<string>();
for (int i = 0; i < suzlar.Count - 1; i++)
{
if (suzlar[i] != suzlar[suzlar.Count - 1])
{
a.Add(suzlar[i]);
}
}
return a;
}
}
}
Oqimlar(Fayllar). Matn fayllar
Butun sonlardan iborat mant fayl berilgan, shu fayl elementlarini teskari tartibda yozib olishdan
hosil bo’lgan yangi fayl hosil qiling.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace matn
{
class Program
{
static void Main(string[] args)
{
string[] son = File.ReadAllText(@"C:\File\sonlar.txt").Split();
using(StreamWriter sw = File.CreateText(@"C:\File\sonlar2.txt"))
{
sw.Write("");
}
for(int i = son.Length - 1; i >= 0; i--)
{
using (StreamWriter sw = File.AppendText(@"C:\File\sonlar2.txt"))
{
sw.Write(son[i] + " ");
}
}
Console.WriteLine("Matn yozildi...");
Console.ReadLine();
}
}
}