mình dùng code này để tạo 10 triệu phần tử
Code:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include <dos.h>
#include<alloc.h>
#define MAX 10000
void main()
{ clrscr();
FILE *MANG;
MANG=fopen("C:\\matran.txt","w");
unsigned long a,n,i;
scanf("%ld",&n);
randomize();
fprintf(MANG,"%ld\n",n);
for(i=0;i<n;i++)
{a=random(MAX);
fprintf(MANG,"%5ld",a);
}
}
rồi ko biết làm sao để nhập 10 tiệu phần tử đó vào trong mảng để chay thuật toan được
Code:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include <dos.h>
#include<alloc.h>
void Swap( unsigned long &x, unsigned long &y);
void SelectionSort_sapgiam( unsigned long a[], unsigned long n);
void ReadData();
unsigned long *a,n;
void ReadData()
{
FILE *f;
f=fopen("C:\\matran.txt","rt");
fscanf(f,"%d",&n);
a(unsigned long*)calooc(n,sizeof(int));
for( long i=1;i<=n;i++){
fscanf(f,"%d",&a[i]);
}
fclose(f);
}
void Swap( unsigned long &x, unsigned long&y)
{
unsigned long bien_tam=x;
x=y;
y=bien_tam;
}
void SelectionSort_sapgiam( unsigned longa[],unsigned long n)
{
for(unsigned long i=0;i<n-1;i++)
{
unsigned long max=i;
for(unsigned long j=i+1;j<n;j++)
if(a[max]<a[j])
max=j;
Swap(a[max],a[i]);
}
}
void main()
{ clrscr();
ReadData();
SelectionSort_sapgiam(a,n);
unsigned long i;
FILE *MANG;
MANG=fopen("C:\\output.txt","w");
fprintf(MANG,"%ld\n",n);
for(i=0;i<n;i++)
{
fprintf(MANG,"%5ld",a[i]);
}
fclose(MANG);
}