May 3, 2020

12. Бинарлы ағаштар

fputs

char * fputs (char * Қатар, FILE * Ағын)

Көрсетілген ағынға символдар қатарын жазады. Қатар соңының символы, ноль-символ, ағынға жазылмайды.

Тақырып файлы: <stdio.h>

ferror

int ferror (FILE *Ағын)

Нөлдік емес мәнді қайтарады, егер соңғы операция көрсетілген ағынмен қатемен аяқталса.

Тақырып файлы: <stdio.h>

feof

int feof (FILE* Ағын)

нолдік емес мән қайтарады, егер оқудың соңғы операциясының орындалу нәтижесінде ағыннан файлдың соңына жетсе. Тақырып файлы: <stdio.h>

fclose

int fclose (FILE* Ағын)

көрсетілген ағынды жабады. Тақырып файлы: <stdio.h>

Мысал 1. Компьютердің дискісінде (диск А:) numbers.txt файлын құратын және оған пайдаланушы енгізген 5 бүтін санды жазатын программа жазыңыз. Текст редакторы көмегімен құрылған файлды көріп шығыңыз. Әр сан бөлек қатарда орналасқанына көз жеткізіңіз. 

Мысалы:

#include "stdio.h"
#include "conio.h"
#define FNAME "numbers.txt\0" // файл аты 
#define N 5 
void main()
{
     char fname[20] = FNAME;
     FILE *f;    // сандар файлы
     int n;      // сан
     puts("\nФайл құру");
     printf("Енгізілген сандар 
     файлға жазылады %s\n",fname);
     puts("Әр санды енгізген сайын 
     <Enter>-ді басыңыз\n");
     if ((f = fopen(fname, "wt")) == NULL)
     {        
        printf("жазу үшін файлды ашу қатесі ");
        getch();
        return;
     }
     for (int i = 0; i < N; i++)
     {
        printf("->");
        scanf("%i", &n);
        fprintf(f,"%i",n);
     }
     fclose(f);     // файлды жабу
     printf("Енгізілген сандар файлға
     жазылды %s\n", fname);
     puts("\nАяқтау үшін<Enter-ді басыңыз>");
     getch();
}

Тапсырмалар

1. Компонентері бүтін сандар болатын F файлы берілген. G файлына F файлының барлық жұп сандарын, ал Н файлына барлық тақ сандарды жазыңдар. Сандар орналасуы сақталады.

2. F символдық файлы берілген. G файлына F файлының компонентерінің кері орналасу реті бойынша жазыңдар.

3. F және G символдық файлдары берілген. Реттерін сақтай отырып Н файлына бірінші F файлының, ал содан соң G файлының компонентерін жазыңдар. 0

4. Компонентерінің ешқайсысы нөлге тең емес бүтін сандар болған F файлы берілген. Файылдағы сандар былай орналасқан: он оң сан, он теріс сан, он оң сан, он теріс сан т.с.с. G файлына F файлының компоненттерін келесідей тәртіппен жаз:

а) бес оң сан, бес теріс сан, бес он сан, бес теріс сан т.с.с. (Ғ файлының компонентерінің саны 20-ға бөлінетіндей етіп алынсын).

5. Компонентерінің ешқайсысы нөлге тең емес бүтін сандар болған F файлы берілген. Файылдағы сандар былай орналасқан: он оң сан, он теріс сан, он оң сан, он теріс сан т.с.с. G файлына F файлының компоненттерін келесідей тәртіппен жаз:

а) жиырма оң сан, жиырма теріс сан, жиырма оң сан, жиырма теріс сан т.с.с. (F файлының компонентерінің саны қырыққа бөлінетіндей етіп алынсын).

6. F және G символдық файлдары берілген. F файлының компонентері G файлының компоненттерімен сәйкес келе ме соны анықтау керек. Егер олай болмаса, онда F және G файлдарының сәйкес келмейтін компонентерінің біріншісінің номерін алу керек. Егер файлының біреуінде n (n≥0) компонент болып және екіншісінің (ұзынырақ) басы болып келсе, онда жауап n+1 саны болу керек.

7. F символдық файл берілген. Келесілерді ауыстыра отырып F файлының компоненттерін G файлына жаз:

а) Әрбір леп белгісін нүктеге ауыстырыңдар.

8. F символдық файл берілген. Келесілерді ауыстыра отырып F файлының компоненттерін G файлына жаз:

а) Әрбір нүктені көп нүктемен (3 нүкте) ауыстырыңдар.

9. F файлының компонентері нақты сандар. Компоненттер қосындысын табыңдар.

10. F файлының компонентері нақты сандар. Компоненттер көбейтіндісін табыңдар.