Tin Kien Giang K31
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Tin Kien Giang K31

Chao mung den voi dien dan Tin-KG Khoa 31
 
Trang ChínhTìm kiếmLatest imagesĐăng kýĐăng Nhập

 

 Sap Xep So Luong Lon

Go down 
Tác giảThông điệp
vvhungtam




Tổng số bài gửi : 11
Registration date : 16/09/2007

Sap Xep So Luong Lon Empty
Bài gửiTiêu đề: Sap Xep So Luong Lon   Sap Xep So Luong Lon Empty18/5/2008, 14:26

Code:

#include <iostream>
#include <time.h>
#include <fstream>

using namespace std;

void nhapfile(char* ch);
void xeptang(char* ch);
int nhapphantu();
void Batbit(int i,int j);
int getbit(int i,int j);

const n=32000;
typedef unsigned int KIEU;
const sobit=sizeof(KIEU)*8;
KIEU b[n/sobit+100];
void main()
{
   for(int i=0;i<(n/sobit+100);i++)
      b[i]=0;
   nhapfile("file.txt");
   xeptang("file.txt");
}

void Batbit(int i,int j)
{
   b[i]=((1<<j)|b[i]);
}
int getbit(int i,int j)
{
   return ((b[i]>>j)&1);
}
void nhapfile(char* ch)
{
   ofstream f;int x;
   f.open(ch);
   for(int i=0;i<n;i++)
   {
      x=nhapphantu();
      f<<x<<' ';
   }
   f.close();
}
void xeptang(char* ch)
{
   ofstream f(ch,ios::app);
   f<<endl<<endl;
   f<<"Day So Sau Khi Da Sap Xep La:\n";
   for(int i=0;i<(n/sobit+100);++i)
      for(int j=0;j<sobit;++j)
         if(getbit(i,j))
            f<<i*sobit+j<<' ';
   f.close();
}
int nhapphantu()
{
   srand(time(NULL));

   int tam;
         do
         {
            tam=rand()%(n+800);
         }while(getbit(tam/sobit,tam&(sobit-1)));
         Batbit(tam/sobit,tam&(sobit-1));
   return tam;
}



Về Đầu Trang Go down
 
Sap Xep So Luong Lon
Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Tin Kien Giang K31 :: Cộng Đồng :: Cộng Đồng :: Thảo luận chung-
Chuyển đến