1. for va foreach sikllari


Matnli fayl berilgan. A va a belgilari bilan boshlanadigan qatorlar sonini toping


Download 65.67 Kb.
bet41/49
Sana19.06.2023
Hajmi65.67 Kb.
#1625730
1   ...   37   38   39   40   41   42   43   44   ...   49
Bog'liq
дəстурлеу жуаплары100

66. Matnli fayl berilgan. A va a belgilari bilan boshlanadigan qatorlar sonini toping.
Quyidagi C++ kodida, matnli fayldan ma'lumot olish va A va a harflari bilan boshlanadigan qatorlar sonini hisoblash uchun funksiya tuzilgan:
#include
#include
#include
using namespace std;
int A_a_qatorlar_soni(string filename) {
ifstream file(filename);
string line;
int count = 0;
if (file.is_open()) {
while (getline(file, line)) {
if (line[0] == 'A' || line[0] == 'a') {
count++;
}
}
file.close();
} else {
cout << "Fayl ochilmadi\n";
}

return count;
}
int main() {
string filename;
cout << "Fayl nomini kiriting: ";
cin >> filename;
int count = A_a_qatorlar_soni(filename);
cout << "A va a harflari bilan boshlanadigan qatorlar soni: " << count << endl;
return 0;
}
Ushbu kod dasturi foydalanuvchidan matnli fayl nomini so'raydi va A va a harflari bilan boshlanadigan qatorlar sonini hisoblash uchun A_a_qatorlar_soni() funksiyasini chaqiradi. Bu funksiya parameter sifatida fayl nomini qabul qiladi.
Funksiyada, faylni ochish uchun ifstream obyekti yaratiladi. Fayl ochilganligi tekshiriladi va har bir qator uchun getline() funksiyasi ishlatiladi. Qatorning birinchi belgisining "A" yoki "a" harfi bilan boshlanishini tekshirish uchun if-operatori ishlatiladi. Qatorlar soni count o'zgaruvchisida saqlanadi va funksiya tugatiladi.
Asosiy funksiyada, fayl nomi foydalanuvchidan soraydi va A_a_qatorlar_soni() funksiyasini chaqiradi. Qaytariladigan qiymat A va a harflari bilan boshlanadigan qatorlar sonini aks ettiradi.
67. Matnli fayl berilgan. Undagi eng uzun qatorni toping
Quyidagi C++ kod matnli fayldagi eng uzun qatorni topish uchun yordam beradi:
c++
#include
#include
#include
#include
#include
using namespace std;
int main() {
string filename = "matnli_fayl.txt";
ifstream file(filename);
if (!file) {
cerr << "Faylni ochib bo'lmadi!" << endl;
return 1;
}
string line;
vector lengths;
while (getline(file, line)) {
int length = line.length();
lengths.push_back(length);
}
int max_length = *max_element(lengths.begin(), lengths.end());
file.clear(); // Faylni qayta ochish uchun file.clear() ishlatiladi
file.seekg(0, ios::beg); // Faylni boshiga qaytish
cout << "Eng uzun qator: ";
while (getline(file, line)) {
if (line.length() == max_length) {
cout << line << endl;
break;
}
}
file.close();
return 0;
}
Bu kod matnli_fayl.txt nomli faylni ochib, qatorlarni o'qib oladi, har bir qatorning uzunligini hisoblayadi va uzunliklar ro'yxatini yaratadi. Uzunliklar ro'yxati ustida max_element() funksiyasi ishlatiladi, bu funksiya ro'yxatda eng katta elementni topadi. Faylning boshiga qaytish uchun ise seekg() funksiyasi ishlatiladi. Natijada, kod eng uzun qatorni konsolga chiqaradi.

Download 65.67 Kb.

Do'stlaringiz bilan baham:
1   ...   37   38   39   40   41   42   43   44   ...   49




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling