Oraliq nazorat Nº1
Download 166.07 Kb.
|
Algoritm Odinaxon 2106
Dasturning C# dagi matni:
using System; class Program { static void Main() { Console.WriteLine("Ketma-ketlik kiriting:"); string text = Console.ReadLine(); int n = text.Length; int count = 0; for (int i=0; i if (text[i] == '·' && text[i+1] != '·') { count++; } } if (text[n-1] != '·') { count++; } Console.WriteLine("Nuqtalar orasidagi belgilar soni: " + count); Console.ReadKey(); } } Natija: c) qo'shnilari teng bo'lgan barcha belgilarni olib tashlang (birinchi va oxirgi belgilarni qo'shnilar deb hisoblang); 1. Belgi karaktermasidagi nuqta bilan tugaydigan belgilarni aniqlang. 2. Belgi ketma-ketligini bo'sh joylar bilan ajratib qo'ying. 3. Barcha bo'sh joylarni " " (bo'sh probel) belgisi bilan to'ldiring. 4. Barcha belgilarni massivga yig'ing. 5. Massivdagi birinchi belgini "birinchi belgi" o'zgaruvchisiga saqlang. 6. Massivdagi oxirgi belgini "oxirgi belgi" o'zgaruvchisiga saqlang. 7. "qo'shnilar" deb nomlangan ro'yxat yarating. 8. Ro'yxatga 'birinchi belgi' ni qo'shing. 9. Ro'yxatga massivdagi barcha belgilarni qo'shing. 10. Ro'yxatga 'oxirgi belgi' ni qo'shing. 11. Ro'yxatdagi qo'shnilar va bo'sh joylar (probellar) qoldirilib, faqatgina belgilar mavjud bo'lishi kerakligini uqing. 12. Natijani qaytarib berish. Python algoritmi: ```python belgi = "A.B.C.D." # misol uchun berilgan belgi nuqta_index = [] for i in range(len(belgi)): if belgi[i] == ".": nuqta_index.append(i) belgi_list = [""] * (len(nuqta_index) + 1) for i in range(len(nuqta_index)): belgi_list[i] = belgi[nuqta_index[i-1]+1:nuqta_index[i]] belgi_list[-1] = belgi[nuqta_index[-1]+1:len(belgi)-1] birinchi_belgi = belgi_list[0] oxirgi_belgi = belgi_list[-1] qoshnilar = [] for belgi in belgi_list: if belgi != "": qoshnilar.append(belgi) print(qoshnilar) ``` Download 166.07 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling