| cheater_man |
15.12.2009 20:18 |
В помощь студенту по С или C++
Примерно такую прогу обычно сдают студенты 2-го курса.В прогу входит открытие файла, записать в файл массива, чтение из файла в массив и сортировка массива методом перебора(Прога написанна на Turbo C++)
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#include <time.h>
void write_file(FILE *f, char *file_name,int size);
int main()
{
int a;
FILE *f1;
srand(time(NULL));
char *file_name = "file_in.txt";
char array[256];
printf("Random massiv:\n");
f1 =fopen(file_name,"wr");
if(f1==NULL)
printf("Error open file");
else
{
for(int i=0;i<256;i++)
{
a = rand() % 100;
array[i] = a;
if(i>0&&i<254)
{
fprintf(f1,"%d,",array[i]);
printf("%d,",array[i]);
}
if(i==255)
{
fprintf(f1,"%d.",array[i]);
printf("%d.",array[i]);
}
}
fclose(f1);
}
getch();
write_file(f1,file_name,256);
clrscr();
return 0;
}
void write_file(FILE *f,char *file_name, int size)
{
FILE *file_out;
file_out = fopen("file_out.txt","w");
f = fopen(file_name,"r");
int int_from_file,i=0;
char c;
char mass[256];
while(fscanf(f,"%d %c",&int_from_file,c)!=EOF)
{ mass[i] = int_from_file;
i++;
}
int min;
int temp;
for(int r=0;r<size-1;r++)
{
min = r;
for(int j=r+1;j<size;j++)
{
if(mass[j]<mass[min])
{
min=j;
}
}
temp = mass[r];
mass[r] = mass[min];
mass[min] = temp;
}
fclose(f);
if(file_out==NULL)
printf("Error open file");
else
printf("\nOtsortirovanii massiv\n");
for(int d=0;d<size;d++)
{
if(d>0&&d<size)
{
fprintf(file_out,"%d,",mass[d]);
printf("%d,",mass[d]);
}
if(d==size-1)
{
fprintf(file_out,"%d.",mass[d]);
printf("%d.",mass[d]);
}
}
fclose(file_out);
getch();
}
Если кому что не понятно , пишите ответим :)
|