Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

15-AMELIY

.pdf
Скачиваний:
0
Добавлен:
05.11.2025
Размер:
281.92 Кб
Скачать

15-ámeliy. Qatarlar hám keńeytilgen belgiler. Belgiler menen islew. ASCII kodları. Belgiler hám qatarlar menen islewshi funkciyalar. Belgiler hám qatarlardı qayta islew.

Jumıstıń maqseti: C++ tilinde belgili (char) hám qatarlı (string) maǵlıwmat tipleri menen islewdi úyreniw. Belgilerdiń ASCII kodları menen tanısıw, C-stilindegi qatarlar hám zamanagóy C++ string klasınıń ayırmashılıǵın túsiniw, hám de standart kitapxana funkciyaları arqalı qatarlardı qayta islew kónlikpelerin iyelew.

Teoriyalıq maǵlıwmatlar:

C++ tilinde tekstli maǵlıwmatlar menen islewdiń tiykarǵı eki usılı bar:

1. Belgiler (char) hám C-stilindegi qatarlar:

ochar: Bir belgini (mısalı, 'A', '5', '!') saqlaw ushın qollanılatuǵın tiykarǵı maǵlıwmat tipi. Yadta hárbir belgi óziniń sanlı kórinisi (ASCII kodı) menen saqlanadı. Mısalı, 'A' belgisi ushın ASCII kodı 65, 'b' ushın 98.

oC-stilindegi qatar: Bul char tipindegi elementlerden ibarat massiv bolıp, eń aqırǵı elementi \0 (null-belgi) menen tamamlanadı. Nullbelgi qatardıń qayerde tamamlanǵanın bildiredi. Bul qatarlar menen islew ushın <cstring> kitapxanasındaǵı strlen(), strcpy(), strcat() sıyaqlı funkciyalardan paydalanıladı.

2.C++ string klası:

oBul C++ standart kitapxanasınıń (<string>) bir bólegi bolıp, qatarlar menen islewdi ádewir ańsatlastıradı hám qáwipsiz etedi. string obyekti yadtı avtomat túrde basqaradı (onıń ólshemin ózgertiw ańsat) hám qosıw, salıstırıw, izlew sıyaqlı kóp ámellerdi orınlaw ushın qolaylı metodlarǵa iye. Zamanagóy C++ programmalastırıwda usı usıldan paydalanıw usınıs etiledi.

<cctype> kitapxanası: Belgilerdi analizlew hám ózgertiw ushın bir qatar paydalı funkciyalardı usınadı (mısalı, isdigit(), isalpha(), toupper(), tolower()).

Ámeliy bólim:

1-Mısal: Belgiler hám olardıń ASCII kodları

Bul mısalda paydalanıwshı tárepinen kirgizilgen belginiń ózin hám onıń sanlı ASCII kodın ekranǵa shıǵaramız.

#include <iostream>

using namespace std;

int main() { char belgi;

cout << "Qálegen belgini kirgiziń: "; cin >> belgi;

cout << "Siz kirgizgen belgi: " << belgi << endl;

// Belgini 'int' tipine túrlendiriw arqalı onıń ASCII kodın alamız cout << "Onıń ASCII kodı: " << int(belgi) << endl;

return 0;

}

2-Mısal: C-stilindegi qatarlar (<cstring> kitapxanası)

Bul jerde biz C-stilindegi qatarlardı járiyalaymız hám <cstring> kitapxanasınıń strlen() (uzınlıqtı tabıw) hám strcpy() (kóshiriw) funkciyalarınan paydalanamız.

#include <iostream>

#include <cstring> // C-stilindegi qatarlar ushın kitapxana

using namespace std;

int main() {

//Qatar járiyalaw, komplyator ólshemin ózi anıqlaydı char qatar1[] = "Sálem, ámeliy jumıs!";

//Kóshirip alıw ushın jetkilikli orınǵa iye bos qatar char qatar2[50];

//1. Qatardıń uzınlıǵın tabıw (null-belgisiz)

cout << "'" << qatar1 << "' qatarınıń uzınlıǵı: " << strlen(qatar1) << endl;

// 2. Bir qatardı ekinshisine kóshiriw strcpy(qatar2, qatar1);

cout << "qatar2 ge kóshirilgen tekst: " << qatar2 << endl;

return 0;

}

3-Mısal: Zamanagóy C++ string klası (<string> kitapxanası)

Bul mısalda string klasınıń qolaylılıǵın kóremiz: qatarlardı ańsat qosıw, uzınlıǵın tabıw hám elementlerine erisiw.

#include <iostream>

#include <string> // C++ string klası ushın kitapxana

using namespace std;

int main() {

string soz1 = "C++ tili";

string soz2 = " júdá qolaylı!"; string nátiyje;

//1. Qatarlardı qosıw (+) operatorı arqalı nátiyje = soz1 + soz2;

cout << "Qosılǵan qatar: " << nátiyje << endl;

//2. Qatardıń uzınlıǵın .length() yamasa .size() metodı menen

tabıw

cout << "Nátiyjeli qatardıń uzınlıǵı: " << nátiyje.length() << " belgi." << endl;

//3. Qatardıń belgisine indeks arqalı erisiw

cout << "Qatardıń birinshi belgisi: " << nátiyje[0] << endl;

// Qatardıń aqırǵı belgisin ózgertiw nátiyje[nátiyje.length() - 1] = '.';

cout << "Ózgertilgen qatar: " << nátiyje << endl;

return 0;

}

4-Mısal: Belgilerdi qayta islew (`<cctype>` kitapxanası)

Bul mısalda biz tekstti paydalanıwshıdan alamız hám onıń quramındaǵı háripler, sanlar hám bos orınlar sanın esaplaymız. Sonıń menen birge, tekstti úlken hám kishi háriplerge aylandıramız.

#include <iostream> #include <string>

#include <cctype> // isdigit, isalpha, toupper, tolower funkciyaları ushın

using namespace std;

int main() { string tekst;

cout << "Tekst kirgiziń (máselen, 'C++ 2024-jılı úyrenildi'): "; getline(cin, tekst); // Probeller menen tolıq qatardı alıw ushın

int hárip_sanı = 0; int san_sanı = 0;

int basqa_belgiler = 0;

string úlken_hárip_tekst = ""; string kishi_hárip_tekst = "";

// Hár bir belgi boyınsha aylanıp shıǵıw for (char belgi : tekst) {

if (isalpha(belgi)) { // Eger belgi hárip bolsa hárip_sanı++;

}else if (isdigit(belgi)) { // Eger belgi san bolsa san_sanı++;

}else {

basqa_belgiler++;

}

// Belgini úlken hám kishi háripke aylandırıw úlken_hárip_tekst += toupper(belgi); kishi_hárip_tekst += tolower(belgi);

}

cout << "\n--- Analiz Nátiyjeleri ---" << endl; cout << "Háripler sanı: " << hárip_sanı << endl; cout << "Sanlar sanı: " << san_sanı << endl;

cout << "Basqa belgiler sanı: " << basqa_belgiler << endl;

cout << "\nTekst úlken háripte: " << úlken_hárip_tekst << endl; cout << "Tekst kishi háripte: " << kishi_hárip_tekst << endl;

return 0;

}

Tapsırmalar:

1.Palindromdı anıqlaw: Paydalanıwshıdan bir sóz kirgiziwdi soraytuǵın programma dúziń. Kirgizilgen sózdiń palindrom ekenligin (yaǵnıy, ońnan oqıǵanda da, shepten oqıǵanda da birdey bolıwın, mısalı "kiyik") anıqlań.

2.Bas háripti úlkenge aylandırıw: Paydalanıwshıdan bir gáp kirgiziwdi soraytuǵın programma dúziń. Gáptegi hár bir sózdiń birinshi háribin úlken háripke aylandırıp, nátiyjeni ekranǵa shıǵarıń. (Máselen: "sálem dúnya" -> "Sálem Dúnya").

3.Login hám paroldi tekseriw: Paydalanıwshıdan login hám parol soraytuǵın programma dúziń. Eger login "admin" hám parol "12345" bolsa, "Siz sistemaǵa kirdińiz!" degen xabardı shıǵarıń. Keri jaǵdayda, "Login yamasa parol qáte!" dep shıǵarıń. (string tipin salıstırıw ushın == operatorınan paydalanıń).

4.Sózlerdi sanaw: Paydalanıwshı kirgizgen gápte neshe sóz bar ekenligin anıqlaytuǵın programma dúziń. (Kórsetpe: sózler probel (bos orın) menen ajıratıladı dep esaplań).

Соседние файлы в предмете Программирование на C++