Tajriba mashg’uloti № 22
Paskal tilida matnli fayllar bilan ishlash
Mashg’ulotning maqsadi: talabalarda matnli fayllar bilan ishlash malaka va ko‘nikmalarini hosil qilish.
Nazariy ma’lumotlar ma’ruza darslarida keltirilgan.
30– masala uchun programma
|
Paskal tilida
|
Borland C++ tilida
|
program text30;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
f1,f2:text;
i,k,n,min:word;
s,s1:string;
begin
assign(f1,'suz.in');reset(f1);
min:=64;
while not eof(f1)do
begin
n:=0;
readln(f1,s);
k:=k+length(s);
for i:=1 to k do
begin
n:=n+1;
if (s[i]=' ') then
begin n:=n-1;
if ((min>=n)and (n>1))
then begin s1:=copy(s,i-n,n);
min:=n;end;
n:=0;
end;
end;
end;
close(f1);
write(s1);
assign(f2,'suz.out');rewrite(f2);
write(f2,s1);
close(f2);
end.
|
#pragma text30
#include
#include
typedef char satr[64];
int main(int argc, char **argv)
{
static int k,min;
satr s;
string s1;
ifstream f1("suz.in");
min=64;
while (! f1.eof())
{
f1>>s;
k=strlen(s);
if (min>=k )
{min=k; s1=s;}
}
f1.close();
ofstream f2("suz.out");
f2<
f2.close();
return 0;
}
|
Topshiriqlar:
1. Matnli fayllar ustida asosiy operatsiyalar
1. Fayl nomi va butun musbat n va k sonlari berilgan. Ko‘rsatilgan nomdagi matn fayli tuzilsin va uning n ta satrining har biriga k tadan «*» yozilsin.
2. Fayl nomi va butun n (0 soni berilgan. Ko‘rsatilgan nomdagi matn fayl tuzilsin va unga n ta satr quyidagi ko‘rinishda yozilsin: 1-satrga «a», 2-satrga «ab», 3-satrga «abc» va hokazo, n satrga n ta kichik lotin alifbosi harflari alfavit tartibida yozilsin.
3. Fayl nomi va butun n (0 soni berilgan. Ko‘rsatilgan nomdagi matn fayl tuzilsin va unga n ta satr quyidagi ko‘rinishda yozilsin: Har bir k-satrda n tadan simvol bo‘lib, simvollarning k tasi alfavit tartibidagi lotin bosh harflari qolganlari «*» simvolidan iborat. Misol: «a***», «ab**», «abc*», «abcd». n=4.
4. Matnli fayl berilgan. Unda joylashgan simvollar va satrlar soni chiqarilsin.
5. s satr va matnli fayl berilgan. Fayl oxiriga s satr qo‘shilsin.
6. 2 ta matnli fayl berilgan. 1-fayl oxiriga 2-faylda saqlanayotgan ma`lumotlar qo‘shilsin.
7. s satr va matnli fayl berilgan. Fayl boshiga s satr qo‘shilsin.
8. 2 ta matnli fayl berilgan. 1-fayl boshiga 2-faylda saqlanayotgan ma`lumotlar qo‘shilsin.
9. k butun soni va matnli fayl berilgan. Faylning k-satridan oldin yangi bo‘sh satr qo‘shilsin. Agar faylda k-satr bo‘lmasa fayl o‘zgartirilmasin.
10. k butun soni va matnli fayl berilgan. Faylning k-satridan keyin yangi bo‘sh satr qo‘shilsin. Agar faylda k-satr bo‘lmasa fayl o‘zgartirilmasin.
11. Matnli fayl berilgan. Uning barcha bo‘sh satrlari ikkilantirilsin.
12. s satr va matnli fayl berilgan. Faylning barcha bo‘sh satrlari s satr bilan almashtirilsin.
13. Bo‘sh bo‘lmagan matnli fayl berilgan. Uning 1-satri o‘chirilsin.
14. Bo‘sh bo‘lmagan matnli fayl berilgan. Uning oxirgi satri o‘chirilsin.
15. k butun soni va matnli fayl berilgan. Faylning k-satri o‘chirilsin.
16. Matnli fayl berilgan. Uning barcha bo‘sh satrlari o‘chirilsin.
17. 2 ta matnli fayl berilgan. 1-faylning har bir satrining oxiriga 2-faylning mos satrlari qo‘shilsin.
18. k butun soni va matnli fayl berilgan. Faylning har bir satridagi boshlang‘ich k ta simvol o‘chirilsin.
19. Matnli fayl berilgan. Fayldagi barcha lotin bosh harflar kichik harflar bilan va aksincha almashtirilsin.
20. Matnli fayl berilgan. Fayldagi yonma-yon kelgan bir nechta bo‘sh joy bitta bo‘sh joy bilan almashtirilsin.
21. 3 ta dan kam bo‘lmagan satrga ega matnli fayl berilgan. Uning oxirgi 3 ta satri o‘chirilsin.
22. k tadan kam bo‘lmagan satrga ega matnli fayl va k (0 butun son berilgan. Uning oxirgi k ta satri o‘chirilsin.
23. k tadan kam bo‘lmagan satrga ega matnli fayl va k (0 butun son berilgan. Berilgan faylning oxirgi k ta satrini saqlovchi yangi matnli fayl tuzilsin.
Do'stlaringiz bilan baham: |