piątek, 11 października 2019

fprintf, fscanf - example

#define SIZE_TAB 20
#define MAX_VALUE SIZE_TAB*SIZE_TAB


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>

#include <iostream>
using namespace std;


double *finish_Result;
int main_Tab[SIZE_TAB][SIZE_TAB];
int first_Values[MAX_VALUE];
bool is_First(int value)
{
int i,sum;
sum=0;
for(i=1;i<value+1;i++)
if(value%i==0)
  ++sum;
if(sum==2)
return true;
else
return false;
}
void init_Arrays()
{
int i,j,k;
i=0,j=2;
do
{
if(is_First(j))
{
first_Values[i]=j;
++i;
}
++j;
}while(i<MAX_VALUE);
for(i=0;i<SIZE_TAB;i++)
{
for(j=0;j<SIZE_TAB;j++)
{
k=rand()%MAX_VALUE;
main_Tab[i][j]=first_Values[k];
}
}

}

int min_Element(int *tab, int size)
{
int min_E,i;
min_E=tab[0];
for(i=1;i<size;i++)
if(min_E>tab[i])
  min_E=tab[i];
return min_E;
}
int max_Element(int *tab, int size)
{
int max_E,i;
max_E=tab[0];
for(i=1;i<size;i++)
if(max_E<tab[i])
  max_E=tab[i];
return max_E;
}
int sum_Array(int *tab, int size)
{
 int i,sum;
 sum=0;
 for(i=0;i<size;i++)
  sum+=tab[i];
 return sum;
}

double aver_Array(int *tab, int size)
{
double aver;
aver=(1.0*sum_Array(tab,size))/(1.0*size);
return aver;
}

double func_A(int a, int b, int c, double d)
{
double func;
func=(c*1.0)-((1.0*a)+(1.0*b))*d;
return func;
}

struct info_Array
{
int a_Min;
int a_Max;
int a_Sum;
double a_Aver;
};
 int main()
{
 int i,j;
 FILE *base_File,*result_File,*read_Date;
 srand(time(NULL));
 finish_Result=new double[SIZE_TAB];
 struct info_Array *i_Array=new struct info_Array[SIZE_TAB];
 struct info_Array *j_Array=new struct info_Array[SIZE_TAB];
 init_Arrays();
 for(i=0;i<SIZE_TAB;i++)
 {
i_Array[i].a_Min=min_Element(main_Tab[i],SIZE_TAB);
i_Array[i].a_Max=max_Element(main_Tab[i],SIZE_TAB);
i_Array[i].a_Sum=sum_Array(main_Tab[i],SIZE_TAB);
i_Array[i].a_Aver=aver_Array(main_Tab[i],SIZE_TAB);
 }

 base_File=fopen("base.txt","w");
 for(i=0;i<SIZE_TAB;i++)
 {
for(j=0;j<SIZE_TAB;j++)
{
fprintf(base_File,"%d  ",main_Tab[i][j]);

}
fprintf(base_File,"\n");
 }

 fclose(base_File);
 result_File=fopen("result.txt","w");
 for(i=0;i<SIZE_TAB;i++)
 {
fprintf(result_File,"%d %d %d %f ",i_Array[i].a_Min,i_Array[i].a_Max,
i_Array[i].a_Sum,i_Array[i].a_Aver);
fprintf(result_File,"\n");
 }
 fclose(result_File);
 read_Date=fopen("result.txt","r");
 for(i=0;i<SIZE_TAB;i++)
 {
fscanf(read_Date,"%d %d %d %f ",&j_Array[i].a_Min,&j_Array[i].a_Max,
&j_Array[i].a_Sum,&j_Array[i].a_Aver);
 }
 fclose(read_Date);
 for(i=0;i<SIZE_TAB;i++)
 {
  finish_Result[i]=func_A(j_Array[i].a_Min,j_Array[i].a_Max,j_Array[i].a_Sum,
  j_Array[i].a_Aver);
 }
 for(i=0;i<SIZE_TAB;i++)
 {
     cout<<i+1<<") "<<finish_Result[i]<<endl;
 }
 delete i_Array;
 delete j_Array;
 delete finish_Result;

 getch();
return 0;
}

Brak komentarzy:

Prześlij komentarz