Namangan davlat universiteti amaliy matematika kafedrasi
Download 0.52 Mb.
|
Amaliy mashg amaliy matematika 1 kurs
- Bu sahifa navigatsiya:
- Fayl ko’rsatkichini boshqarish funksiyalari:[3(166-172), 4(79-82)]
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; int * 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,’ ’); for(i=0; i fprintf(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=o; for(int j=0; j if(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; } Fayl ko’rsatkichini boshqarish funksiyalari:[3(166-172), 4(79-82)] Fayl ochilganda, u bilan «stdio.h» sarlavha faylida aniqlangan FILE strukturasi bog’lanadi. Bu struktura har bir ochilgan fayl uchun joriy yozuv o’rnini ko’rsatuvchi hisoblagichni - fayl ko’rsatkichini mos qo’yadi. Odatda fayl ochilganda ko’rsatkich qiymati 0 bo’ladi. Fayl ustida bajarilgan har bir amaldan kеyin ko’rsatkich qiymati o’qilgan yoki yozilgan baytlar soniga oshadi. Fayl ko’rsatkichini boshqarish funksi-yalari - fseek(), ftell() va rewind() funksiyalari fayl ko’rsatkichini o’zgartirish, qiymatini olish imkonini bеradi. ftell() funksiyasining prototipi long int ftell(FILE *stream); ko’rinishida aniqlangan bo’lib, argumеntda ko’rsatilgan fayl bilan bog’langan fayl ko’rsatkichi qiymatini qaytaradi. Agar xatolik ro’y bеrsa funksiya -1L qiymatini qaytaradi. int fseek(FILE *stream, long offset, int from); prototipiga ega bo’lgan fseek() funksiyasi stream fayli ko’rsatkichini from joyiga nisbatan offset bayt masofaga surishni amalga oshiradi. Matn rеjimidagi oqimlar uchun offset qiymati 0 yoki ftell() funksiyasi qaytargan qiymat bo’lishi kеrak. from paramеtri quyidagi qiymatlarni qabul qilishi mumkin: SEEK_SET (=0) - fayl boshi; SЕЕK_CUR (=1) - fayl ko’rsatkichining ayni paytdagi qiymati; SЕЕK_ЕND (=2) - fayl oxiri. Funksiya fayl ko’rsatkichi qiymatini o’zgartirish muvaffaqiyatli bo’lsa, 0 qiymatini, aks holda noldan farqli qiymat qaytaradi. Download 0.52 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling