1. for va foreach sikllari


Matnli fayl berilgan. Undagi birinchi va oxirgi qatorlarini o’chiring. Natijani boshqa faylga yozing


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

65. Matnli fayl berilgan. Undagi birinchi va oxirgi qatorlarini o’chiring. Natijani boshqa faylga yozing.
Quyidagi C++ kodida, matnli fayldan ma'lumot olish, birinchi va oxirgi qatorlarni o'chirib, natijani boshqa faylga yozish uchun funksiya tuzilgan:
#include
#include
#include
using namespace std;
void qatorlar_uchirib_yozish(string input_file, string output_file) {
ifstream in_file(input_file);
ofstream out_file(output_file);
string line;
if (in_file.is_open() && out_file.is_open()) {
// Birinchi qator ni o'chirish
getline(in_file, line);
// Oxirgi qatorlarni topish
string last_line;
while (getline(in_file, line)) {
last_line = line;
}
// O'chirilgan qatorlar bilan yangi faylga yozish
in_file.clear();
in_file.seekg(0, ios::beg);
bool first_line = true;
while (getline(in_file, line)) {
if (line != last_line && line != "") {
if (!first_line) {
out_file << endl;
}
out_file << line;
first_line = false;
}
} in_file.close();
out_file.close();
} else {
cout << "Fayl ochilmadi\n";
}
}
int main() {
string input_file, output_file;
cout << "Boshlang'ich fayl nomini kiriting: ";
cin >> input_file;
cout << "Natijaviy fayl nomini kiriting: ";
cin >> output_file;
qatorlar_uchirib_yozish(input_file, output_file);
cout << "Birinchi va oxirgi qatorlar o'chirib yozildi.\n";
return 0;
}
Ushbu kod dasturi foydalanuvchidan boshlang'ich fayl nomini va natijaviy fayl nomini so'raydi va qatorlar_uchirib_yozish() funksiyasini chaqiradi. Bu funksiya parameter sifatida boshlang'ich fayl nomini va natijaviy fayl nomini qabul qiladi.
Funksiyada, boshlang'ich faylni ochish uchun ifstream obyekti yaratiladi. Fayl ochilganligi va natijaviy faylni yaratish uchun ofstream obyekti ham yaratiladi. Fayllarning ochilganligi tekshiriladi.
Fayldan birinchi qatori o'chiriladi. Oxirgi qator topiladi, bu uchun while tsikli qo'llaniladi. O'chirilgan qatorlar bilan yangi faylga yozish uchun, faylni boshiga qaytib, qatorlarni o'qish uchun in_file.clear() va in_file.seekg(0, ios::beg) ishlatiladi. Har bir qatorda oxirgi qatorni tekshirish uchun if-operatori ishlatiladi. O'chirilgan qatorlar bilan yangi faylga yoziladi.
Funksiyadan chiqishdan oldin, "Birinchi va oxirgi qatorlar o'chirib yozildi." xabarini chiqaradi.
Bunday kod dasturi orqali faylning birinchi va oxirgi qatorlari o'chirilib, natijaviy faylda qatorlar arasida bir qator bo'shligi qoladi.

Download 65.67 Kb.

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




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