Namangan davlat universiteti amaliy matematika kafedrasi


Download 0.52 Mb.
bet46/50
Sana15.03.2023
Hajmi0.52 Mb.
#1270223
1   ...   42   43   44   45   46   47   48   49   50
Bog'liq
Amaliy mashg amaliy matematika 1 kurs

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’rsatki­chini 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:
1   ...   42   43   44   45   46   47   48   49   50




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