#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#define SO_TOI_DA 100
void hoanvi(int A[],int vitri1,int vitri2)
{
int container;
container = A[vitri1];
A[vitri1] = A[vitri2];
A[vitri2] = container;
}
/* Nhap vao file SONGUYEN.IN nhung so ngau nhien */
int IN_FILE()
{
FILE* SONGUYEN_IN = NULL ;
SONGUYEN_IN = fopen("SONGUYEN.IN.txt","w");
if(SONGUYEN_IN != NULL)
{
int songaunhien;
for(int i =0;i<SO_TOI_DA;i++) fprintf(SONGUYEN_IN,"%d\n",songaunhien=rand());
fclose(SONGUYEN_IN);
return 1;
}
else return 0;
}
/* Nhap nhung so ngau nhien co trong file SONGUYEN.IN vao Array roi sap xep chung*/
int sapxepsonguyen(int Array[])
{
FILE* SONGUYEN_IN = NULL; SONGUYEN_IN = fopen("SONGUYEN.IN.txt","r");
if(SONGUYEN_IN!=NULL)
{
for(int i = 0; i<SO_TOI_DA;i++)
{
fscanf(SONGUYEN_IN,"%d",&Array[i]);
printf("%d ",Array[i]);
}
for(int i =0;i<SO_TOI_DA-1;i++)
{
for(int j =i+1;j<SO_TOI_DA;j++)
{
if(Array[i] > Array[j]) hoanvi(Array,i,j);
}
}
fclose(SONGUYEN_IN);
return 1;
}
else return 0;
}
/*Nhap cac gia tri da duoc sap xep vao file SONGUYEN.OUT*/
void OUT_FILE(int A[])
{
FILE* SONGUYEN_OUT = NULL; SONGUYEN_OUT=fopen("SONGUYEN.OUT.txt","w");
for(int i =0;i<SO_TOI_DA;i++)
{
fprintf(SONGUYEN_OUT,"%d\t",A[i]);
}
fclose(SONGUYEN_OUT);
}
int main()
{
srand(time(NULL));
int A[SO_TOI_DA];
if(IN_FILE == 0 ) printf("ERROR !!");
if(sapxepsonguyen(A) == 0 ) printf("ERROR !!");
OUT_FILE(A);
}
.Chương trình chạy được nhưng chỉ có file SONGUYEN.OUT là được ghi dữ liệu vào còn file SONGUYEN.IN thì không. Trong khi đó mảng Array lại lấy giá trị từ file SONGUYEN.IN ???
Anh chị nào giải thích giúp em với !


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?