Listing 8.4. Ikki o'lchovli massivda bir hil bolgan nechta elementlari bolsa sonini toping va ularni massiv tarkibida yoq bolgan sonlar bilan almashtirish.
O’zlashtirish uchun savollar
Massiv deb nimaga aytiladi?
Massivning qanday turlari bor?
Pog`onasimon massiv deganda nimani tushunasiz?
Pog`onasimon massivni ikki o`lchamli massiv deyish mumkin?
Tasodifiy sonlar generatori deganda nimani tushunasiz?
9-Ma`ruza: Satrlar.
Reja: Belgili kattaliklar bilan ishlash
Satrli kattalik(matn)lar bilan ishlash.
System.String bazaviy sinfi
Tayanch so’z va iboralar:Belgili kattalik, satrli kattalik, System.Char sinfi, System.String sinfi, IsDigit metodi, IsLetter metodi
9.1. Belgili kattaliklar bilan ishlash Matnli ma’lumotlarni qayta ishlash zamonaviy dasturlashda eng keng tarqalgan masalalardan biri hisoblanib, C# da bunday masalalarni hal etish uchun keng qamrovli vositalarni taqdim etadi: alohida belgilar, belgili massivlar, o‘zgaruvchi va o‘zgarmas qatorlar hamda regulyar ifodalar.
Belgili ma’lumotlarning tiplari C# da char tipi orqali e’lon qilinadi. char tipi Unicode kodirovkasidagi belgilarni saqlash uchun xizmat qiladi. Belgili ma’lumotlarni qayta ishlash uchun System nomlar makonida joylashgan Char sinfi elementlaridan foydalaniladi. Ushbu sinfda bir qator belgili kattaliklar bilan ishlash uchun mo‘ljallangan uslublar mavjud bo‘lib ulardan dasturlashda ko‘p qo‘llaniladiganlari 9.1 – jadvalda keltirilgan.
9.1-jadval.
System.Char sinfining ayrim uslublari
Uslub
Tavsifi
GetNumericValue
Agar belgi son bo‘lsa uni sonli qiymatini qaytaradi, aksincha bo‘lsa -1 qiymat qaytaradi.
IsControl
Agar belgi boshqaruv belgisi bo‘lsa true qiymat, aks holda false qiymat qaytaradi.
IsDigit
Agar belgi 10 lik sanoq sistemasidagi raqam bo‘lsa true qiymat qaytaradi, aks holda false qiymat qaytaradi.
IsLetter
Agar belgi harf bo‘lsa true qiymat qaytaradi, aks holda false qiymat qaytaradi.
IsLower
Agar belgi ostki registrdagi(kichik) harf bo‘lsa true qiymat qaytaradi, aks holda false qiymat qaytaradi.
IsUpper
Agar belgi ustki registrdagi(katta) harf bo‘lsa true qiymat qaytaradi, aks holda false qiymat qaytaradi.
IsWhiteSpace
Agar belgi probel, yangi satrga o‘tish yoki karetkani qaytaruvchi belgi bo‘lsa true qiymat qaytaradi, aks holda false qiymat qaytaradi.
Parse
Matnli qatorni agar u 1 ta belgidan iborat bo‘lsa belgiga o‘zgartirish
ToLower
Belgini ostki registr(kichik harf)ga o‘tkazish
ToUpper
Belgini ustki registr(katta harf)ga o‘tkazish
MaxValue, MinValue
Ko‘rinmas xolda ifodalanuvchi belgilarni maksimal va minimal kodlarini qaytaradi
9.1-listingda ushbu uslublardan foydalanishga misol tariqasidagi dastur keltirilgan.
using System; namespace ConsoleApplication1 { class Class1 { static void Main() { try { char b = 'B', c = '\x63', d = '\u0032'; // 1 Console.WriteLine( "{0} {1} {2}", b, c, d ); Console.WriteLine( "{0} {1} {2}", char.ToLower(b), char.ToUpper(c), char.GetNumericValue(d) ); char a; do // 2 { Console.Write( "Belgi kiriting: " ); a = char.Parse( Console.ReadLine() ); Console.WriteLine( " {0} belgisi kiritildi, uning kodi – {1}", a, (int)a ); if (char.IsLetter(a)) Console.WriteLine("Harf"); if (char.IsUpper(a)) Console.WriteLine("Katta registrda"); if (char.IsLower(a)) Console.WriteLine("Kichik registrda"); if (char.IsControl(a)) Console.WriteLine("Boshqaruv belgisi"); if (char.IsNumber(a)) Console.WriteLine("Son"); if (char.IsPunctuation(a)) Console.WriteLine("Ajratgich"); } while (a != 'q'); } catch { Console.WriteLine( "Istisnoli xolat qayd etildi!" ); return; } } } }