|
Vazirligiga qarashli muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand
|
bet | 2/2 | Sana | 31.05.2024 | Hajmi | 183,97 Kb. | | #258094 |
Bog'liq Dasturlash ma\'ruza 4-topshiriq~1topshiriq.
10-masala. S satr va H belgi berilgan. Satrda qatnashgan barcha H belgilarini satrda turgan o'rinlari yig'indisini hisoblab chiqaring. Agar bunday belgi boʻlmasa, u holda "-1" chiqaring.
Javob: C++ dasturlash tilida berilgan satrdagi ma'lum bir belgining barcha uchrashish o'rinlari yig'indisini hisoblash uchun quyidagi dasturni yozish mumkin. Agar belgi satrda topilmasa, natija "-1" bo'lishi kerak.
Dastur kodi:
#include #include Using namespace std; int main() {
string S; char H;
// Foydalanuvchidan satr va belgini kiritishni so'raymiz cout << "Satrni kiriting: ";
getline(cin, S); // Satrni kiritish cout << "Belgini kiriting: ";
cin >> H; // Belgini kiritish int sum = 0;
bool found = false;
// Satr bo'ylab yurib, belgi turgan o'rinlarini yig'amiz for (size_t i = 0; i < S.length(); ++i) {
if (S[i] == H) {
sum += i; found = true;
}
}
// Agar belgi topilmasa, "-1" chiqamiz if (!found) {
cout << "-1" << endl;
} else {
cout << "Belgilar o'rinlari yig'indisi: " << sum << endl;
}
return 0;
}
Dastur tushuntirishi:
Satr va belgini kiritish:
std::getline(std::cin, S) yordamida foydalanuvchidan to'liq satrni kiritamiz.
std::cin >> H yordamida foydalanuvchidan belgini kiritamiz.
Belgilar o'rinlarini yig'ish:
sum o'zgaruvchisini belgilarning o'rinlari yig'indisini saqlash uchun ishlatamiz.
found o'zgaruvchisi belgi topilganligini aniqlash uchun ishlatiladi.
Satrni aylanish:
for tsikli yordamida satrni boshidan oxirigacha aylantiramiz.
Agar S[i] belgi H ga teng bo'lsa, sum o'zgaruvchisiga indeksni qo'shamiz va found o'zgaruvchisini true qilib belgilaymiz.
Natijani chiqarish:
Agar found false bo'lsa, demak belgi topilmagan, shuning uchun "-1" ni chiqaramiz.
Aks holda, belgilarning o'rinlari yig'indisini chiqaramiz.
Ushbu dastur kiritilgan satrda belgilarni qidirib, ularning o'rinlari yig'indisini hisoblaydi va kerakli natijani chiqaradi.
topshiriq.
8-savol. Visual Studio C++ da geometric shakllarni chizishga doir misol keltiring. Masalan, DrawRectangle funksiyasi yordamida to’ri to’rtburchak chizing (chiziq rangi qora). Natija quyidagicha bo’lsin:
Dastur :
Dastur kodi:
{
Graphics^ tortburchak = this->CreateGraphics(); Pen^ qalam = gcnew Pen(Color::Blue, 3);
Rectangle tortburchakNuqtalari = Rectangle(150, 150, 250, 250); tortburchak->DrawRectangle(qalam, tortburchakNuqtalari);
}
|
| |