/* Программа создает бинарный файл f1 из целых чисел 0 и 1. Переписывает из файла f1 в текстовый файл f2 инвертированные элементы файла f1.*/

 

#include "stdafx.h"

#include "stdio.h"

#include "conio.h"

 

void create (char *s, int n);

void invert (char *s, char *s1);

 

int main()

{    

      char s[10],s1[10];

      int n;

      printf("Enter kol-vo cifr\n");

      scanf("%d",&n);

      flushall();

      printf("Enter file's name 1\n");

      gets(s);

      flushall();

      printf("Enter file's name 2\n");

      gets(s1);

      create (s,n);

      invert (s,s1);

      getch();

      return 0;

}

 

void create(char *s, int n)

{    

      FILE *f1=fopen(s,"wb");

      int a;

      printf("Enter %d cifr (1 or 0)\n",n);

      for(int i=0;i<n;i++)

      {

            scanf("%d",&a);

            fwrite(&a,4,1,f1);

      }

      fclose(f1);

}

 

void invert(char *s, char *s1)

{    

      FILE *f1=fopen(s,"rb");

      FILE *f2=fopen(s1,"w");

      int a;

      while (fread(&a,4,1,f1))

      {

            if(a)

                  fprintf(f2,"%d ",a-1);

            else

                  fprintf(f2,"%d ",a+1);

      }

      fclose(f1);

      fclose(f2);

}

 


/*Создает бинарный файл, содержащий список пассажиров (фамилия, кол-во единиц багажа, масса багажа), записывает в текстовый файл

данные о тех, кто не нарушил условия грузоперевозок*/

 

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

 

struct pass {

      char name[20];

      int num,weight;

};

void create(char *fn, int n);

void make(char *fn,char *fm, int mk, int mn);

int main()

{    

      char s1[20],s2[20];    

      int mk,mn,n;

      printf("Enter file's name 1\n");

      gets(s1);

      flushall();

      printf("Enter file's name 2\n");

      gets(s2);

      flushall();

      printf("Enter n,mk,mn\n");

      scanf ("%d%d%d",&n,&mk,&mn);

      create(s1,n);

      make(s1,s2,mk,mn);

      return 0;

}

 

void create(char *fn, int n)

{    

      FILE *f1=fopen(fn,"wb");

      pass a;

      for(int i=0;i<n;i++)

      {    

            flushall();

            printf("Enter name %d pass\n",i+1);

            gets(a.name);

            printf("Enter kol-vo predmetov i massu %d pass\n",i+1);

            scanf("%d%d",&a.num,&a.weight);

            fwrite(&a,sizeof(pass),1,f1);

      }

      fclose(f1);

}

 

void make (char *fn, char *fm, int mk, int mn)

{    

      FILE *f1=fopen(fn,"rb");

      FILE *f2=fopen(fm,"w");

      pass a;

      while (fread (&a, sizeof(pass),1,f1))

            if(a.num<=mk&&a.weight<=mn)

            {

                  fputs(a.name,f2);

                  fprintf(f2,"\n");

            }

            fclose(f1);

            fclose(f2);

}

/* Создать 2 бинарных файла, записать в них целые цисла. Составить функцию, которая записывает в 3 текстовый файл числа из первого, отличные от чисел из второго файла. */

 

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

void create(char *fn, int n);

void sort(char *s1,char *s2,char *s3,int n, int m);

int main()

{     char s1[20]; char s2[20]; char s3[20]; int n,m;

      flushall();

      printf("Enter name's file f1\n");

      gets(s1); flushall();

      printf("Enter name's file f2\n");

      gets(s2); flushall();

      printf("Enter name's file f3\n");

      gets(s3); flushall();

      printf("Enter n,m\n");

      scanf("%d%d",&n,&m);

      create(s1,n);

      create(s2,m);

      sort(s1,s2,s3,n,m);

      getch();

      return 0;}

void create(char *fn, int n)

{     FILE *f1=fopen(fn,"wb");

      float a;

      printf("Enter file's data\n");

      for(int i=0;i<n;i++)

      {     scanf("%f",&a);

            fwrite(&a,4,1,f1);}

      fclose(f1);}

void sort(char *s1,char *s2,char *s3,int n, int m)

{     float a1,a2;

      int fl;

      FILE *f1=fopen(s1,"rb");

      FILE *f2=fopen(s2,"rb");

      FILE *f3=fopen(s3,"w");

      float *a,*b;

      a=(float*)calloc(n,sizeof(float));

      b=(float*)calloc(m,sizeof(float));

      int i,j;

      fseek(f1,0,0);

      for(i=0;i<n;i++)

      {     fread(&a1,4,1,f1);

            *(a+i)=a1;}

      fseek(f2,0,0);

      for(i=0;i<m;i++)

      {     fread(&a2,4,1,f2);

            *(b+i)=a2;}

      fl=0;

      for(i=0;i<n;i++)

      {     fl=0;

            for(j=0;j<m;j++)

                  if(a[i]==b[j])

                        fl=1;

            if (fl==0)

                  fprintf(f3,"%4.1f ",a[i]);}

      fclose(f1); fclose(f2); fclose(f3);}


/*Создать файл f1 из значей функции y=x^3/(x+1)-1, где  Х изменяется на отрезке [0;4] с шагом 0.1. Составить новый файл f2 из значений файла f1 следующим образом: если значение файла f1 удовлетворяет неравенству 4<y<10, то оно записывается в f2, если y не удовлетворяет этому неравенству, то в f2 записывается ноль.*/

 

#include "stdafx.h"

#include "stdio.h"

#include "conio.h"

 

void create(char *s1);

void sort(char *s1, char *s2);

 

int main()

{    

      char s1[20], s2[20];

      printf("Vvidite imena 2 failov\n");

      flushall();

      gets(s1);

      flushall();

      gets(s2);

      create(s1);

      sort(s1,s2);

      getch();

      return 0;

}

 

void create(char *s1)

{    

      float x,a,b,h,y;

      FILE *f1=fopen(s1,"w");

      printf("Vvovim a,b,h\n");

      scanf("%f%f%f",&a,&b,&h);

      x=a;

      while(x<=b)

      {    

            y=x*x*x/(x+1)-1;

            fwrite(&y,4,1,f1);

            x=x+h;

      }

      fclose(f1);

}

 

void sort(char *s1, char *s2)

{    

      float y,c,d,g;

      FILE *f1=fopen(s1,"r");

      FILE *f2=fopen(s2, "w");

      printf("Vvodim interval dly sotrivki faila\n");

      scanf("%f%f",&c,&d);

      g=0;

      while(fread(&y,4,1,f1))

      {    

            if (y>c&&y<d)

                  fprintf(f2,"%f ",y);

            else

                  fprintf(f2,"%f ",g);

      }

      fclose(f1);

      fclose(f2);

}

/*Функция создает файл f1.txt со строкой, из которой выписывает все буквы в файл f3.txt, а цифры в f2.txt*/

 

#include "stdafx.h"

#include "stdlib.h"

#include "string.h"

#include "conio.h"

 

void create(char *s);

void obr(char *s1,char *s2, char *s3);

 

int main()

{    

      int i,*n;

      char f1,f2,f3,s;

      create("f1.txt");

      obr("f1.txt","f2.txt","f3.txt");

      return 0;

}

 

void create(char *s)

{

      char s1[30];

      FILE *f1=fopen(s,"w");

      printf("Input text, number ->f2.txt,bukva ->f3.txt \n");

      flushall();

      gets(s1);

      fputs(s1,f1);

      fclose(f1);

}

 

void obr(char *s1,char *s2, char *s3)

{

      FILE *f1=fopen(s1,"r");

      FILE *f2=fopen(s2,"w");

      FILE *f3=fopen(s3,"w");

      int i=0;char stemp[30];

      fgets(stemp,30,f1);

      for (int j=0;j<30;j++)

      {    

            if (stemp[j]>='1' && stemp[j]<='9')

                  fprintf(f2," %c",stemp[j]);

            if ((stemp[j]>='a' && stemp[j]<='z') || (stemp[j]<='Z'&& stemp[j]>='A'))

                  fprintf(f3," %c",stemp[j]);

      }

      fclose(f1); fclose(f2); fclose(f3);

}


/*Создать файл, включающий структуру, состоящую из фамилии и трех оценок. Переписать в текстовый файл фамилии студентов, сдавших все на 4 и 5*/

 

# include <stdafx.h>

# include <stdio.h>

# include<string.h>

# include<conio.h>

struct ved

{    

      char fam[20];

      int mark[3];

};

void funk(char *s1, int n);

void create(char *s1, char *s2, int n);

void main()

{    

      char s1[20], s2[20];

      printf("Enter filename1\n");

      gets(s1);

      printf("Enter filename2\n");

      gets(s2);

      funk(s1,4);

      create(s1,s2,4);

      getch();

}

void funk(char *s1, int n)

{

      FILE *f1=fopen(s1,"wb");

      ved a;

      for (int i=0; i<n; i++)

      {    

            printf("familiya %d\n",i+1);

            flushall();

            gets(a.fam);

            printf("marks %d\n",i+1);

            for (int j=0; j<3; j++)

                  scanf("%d", &a.mark[j]);

            fwrite(&a, sizeof(ved), 1, f1);   

      }

      fclose(f1);

}

void create(char *s1, char *s2, int n)

{

      FILE *f1=fopen(s1,"rb");

      FILE *f2=fopen(s2,"w");

      ved a;

      int k;

      while (fread(&a, sizeof(ved),1,f1))

      {

            k=0;

            for (int j=0; j<3; j++)

                  if (a.mark[j]>3)

                        k++;

            if (k==3)

            {

                  fprintf(f2, "%s\n", a.fam);

                  printf("%s ", a.fam);

            }

      }

      fclose(f1); fclose(f2);

}

/*Создать файл из n слов, переписать указанные слова такие образом, чтобы символы в каждом слове был в обратном порядке*/

#include "stdafx.h"

#include "stdio.h"

#include "conio.h"

#include "string.h"

#include "stdlib.h"

 

void create(char *s, int n);

void fun(char*s,char*s1,int n);

void abc(char a[]);

int main()

{     char s[10],s1[10];

      int n;

      printf("Enter kol-vo slov\n");

      scanf("%d",&n);

      printf("Enter file's name 1\n");

      flushall();

      gets(s);

      printf("Enter file's name 2\n");

      flushall();

      gets(s1);

      create(s,n);

      fun(s,s1,n);

      return 0;

}

void create(char *s, int n)

{     FILE *f1=fopen(s,"w");

      char a[20];

      printf("Enter slova:\n");

      for(int i=0;i<n;i++)

      {

            gets(a);

            fprintf(f1,"%s\n",a);

            flushall();

      }

      fclose(f1);

}

void fun(char*s,char*s1,int n)

{     FILE *f1=fopen(s,"r");

      FILE *f2=fopen(s1,"w");

      char a[20];

      char temp;

      while(fgets(a,20,f1))

      {

            abc(a);          

            fprintf(f2,"%s",a);

      }

      fclose(f1);

      fclose(f2);

}

void abc(char a[])

{     int n;

      char temp;

      for(int j=0;j<(strlen(a)/2);j++)

      {

            temp=a[j];

            a[j]=a[strlen(a)-1-j];

            a[strlen(a)-1-j]=temp;

      }

}

Сайт создан в системе uCoz