1-Mavzu. Axborotlarni kompyuter xotirasida tasvirlanishi Reja


int fputs (const char *s, FILE *stream)



Download 1,62 Mb.
Pdf ko'rish
bet75/80
Sana27.06.2022
Hajmi1,62 Mb.
#708480
1   ...   72   73   74   75   76   77   78   79   80
Bog'liq
Maruza matni Dasturlash asoslari

int fputs (const char *s, FILE *stream); 
ko`rinishida aniqlangan. Satr oxiridagi yangi satrga o`tish belgisi va terminatorlar oqimga 
chiqarilmaydi. Oqimga chiqarish muvaffaqiyatli bo`lsa, funktsiya nomanfiy son qaytaradi
aks holda EOF. 
foef() 
funktsiyasi 
aslida 
makros 
bo`lib, 
fayl 
ustida 
o`qish-yozish 
amallari bajarilayotganda fayl oxiri belgisi uchragan yoki yo`qligini bildiradi. Funktsiya
int feof(FILE *stream); 
prototipiga ega bo`lib u fayl oxiri belgisi uchrasa, noldan farqli 
sonni qaytaradi, boshqa holatlarda 0 qiymatini qaytaradi. 
Quyida keltirilgan misolda faylga yozish va o`qishga amallari ko`rsatilgan. 
#include  
#include  
int main() 
{char s; 
FILE *in,*out; 
if((in=fopen("D:\\USER\\TALABA.TXT","rt"))==NULL) 
{cout<<"Talaba.txt faylini ochilmadi!!\n"; 
return 1;} 
if((out=fopen("D:\\USER\\TALABA.DBL","wt+"))==NULL) 
{cout<<"Talaba.dbl faylini ochilmadi!!\n"; 
return 1;} 
while (!feof(in)) 
{char c=fgetc(in); 
cout<fputc(c,out);} 
fclose(in); 
fclose(out); 
return 0;}
 


107 
Programmada «talaba.txt» fayli matn fayli sifatida o`qish uchun ochilgan va u in 
o`zgaruvchisi bilan bog‘langan. Xuddi shunday, «talaba.dbl» matn fayli yozish uchun 
ochilgan va out bilan bog‘langan. Agar fayllarni ochish muvaffaqiyatsiz bo`lsa, mos xabar 
beriladi va programma o`z ishini tugatadi. Keyinchalik, toki in fayli oxiriga etmaguncha, 
undan 
belgilar 
o`qiladi 
va 
ekranga, 
hamda 
out 
fayliga 
chiqariladi. Programma oxirida ikkita fayl ham yopiladi. 
Masala. 
G‘alvirli tartiblash usuli. 
Berilgan x vektorini pufakcha usulida kamaymaydigan qilib tartiblash quyidagicha 
amalga oshiriladi: massivning qo`shni elementlari xk va xk+1 (k=1,..,n-1) solishtiriladi. 
Agar xk>xk+1 bo`lsa, u holda bu elementlar o`zaro o`rin almashadi. SHu yo`l bilan 
birinchi o`tishda eng katta element vektorning oxiriga joylashadi. Keyingi qadamda vektor 
boshidan n-1 o`rindagi elementgacha yuqorida qayd qilingan yo`l bilan qolgan 
elementlarning 
eng 
kattasi 
n-1 
o`ringa 
joylashtiriladi va h.k. 
G‘alvirli tartiblash usuli pufakchali tartiblash usuliga o`xshash, lekin xk va xk+1 
(k=1,2,3,..,n-1) elementlar o`rin almashgandan keyin «g‘alvirdan» o`tkazish amali 
qo`llaniladi: chap tomondagi kichik element imkon qadar chap tomonga tartiblash 
saqlangan holda ko`chiriladi. Bu usul oddiy pufakchali tartiblash usuliga nisbatan tez 
ishlaydi. 
Programma matni: 
#include  
#include  
int * Pufakchali_Tartiblash(int*,int); 
int main() 
{char fnomi[80]; 
printf("Fayl nomini kiriting:"); 
scanf("%s", &fnomi); 
int Ulcham,i=0,* Massiv; 
FILE * f1, *f2; 
if((f1=fopen(fnomi,"rt"))==NULL) 
{printf("Xato:%s fayli ochilmadi!",fnomi); 
return 1;} 
fscanf(f1,"%d",&Ulcham); 
Massiv=(int *)malloc(Ulcham*sizeof(int)); 
while(!feof(f1)) 
fscanf(f1,"%d",&Massiv[i++]); 
fclose(f1); 
Massiv=Pufakchali_Tartiblash(Massiv,Ulcham); 
f2=fopen("natija.txt","wt"); 
fprintf(f2,"%d%c",Ulcham,' '); 


108 
for(i=0; ifprintf(f2,"%d%c",Massiv[i],' '); 
fclose(f2); 
return 0;} 
int * Pufakchali_Tartiblash(int M[],int n) 
{int almashdi=1, vaqtincha; 
for(int i=0; i{almashdi=0; 
for(int j=0; jif (M[j]>M[j+1]) 
{almashdi=1; 
vaqtincha=M[j]; 
M[j]=M[j+1]; 
M[j+1]=vaqtincha; 
int k=j; 
if(k) 
while(k && M[k]>M[k-1]) 
{vaqtincha=M[k-1]; 
M[k-1]=M[k]; 
M[k]=vaqtincha; 
k--;}}} 
return M;}
 
Programmada berilganlarni oqimdan o`qish yoki oqimga chiqarishda fayldan 
formatli o`qish - fscanf() va yozish - fprintf() funktsiyalaridan foydalanilgan. Bu 
funktsiyalarning mos ravishda scanf() va printf() funktsiyalaridan farqi - ular berilganlarni 
birinchi argument sifatida beriladigan matn fayldan o`qiydi va yozadi. 
Nomi foydalanuvchi tomonidan kiritiladigan f1 fayldan butun sonlar massivining uzunligi 
va qiymatlari o`qiladi va tartiblangan massiv f2 faylga yoziladi. 
Vektorni tartiblash Pufakchali_Tartiblash() funktsiyasi tomonidan amalga oshiriladi. 
Unga vektor va uning uzunligi kiruvchi parametr bo`ladi va tartiblangan vektor funktsiya 
natijasi sifatida qaytariladi. 
Navbatdagi ikkita funktsiya fayl oqimidan formatlashmagan o`qish-yozishni amalga 
oshirishga mo`ljallangan. 
fread() funktsiyasi quyidagi prototipga ega: 

Download 1,62 Mb.

Do'stlaringiz bilan baham:
1   ...   72   73   74   75   76   77   78   79   80




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2025
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish