Advertisement
phamanhtuan96

Untitled

Sep 23rd, 2017
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.79 KB | None | 0 0
  1. #include<iostream>
  2. #include<conio.h>
  3. #include<stdio.h>
  4. #include<string.h>
  5.  
  6. using namespace std;
  7.  
  8. struct SinhVien
  9. {
  10.     int n;
  11.     char MaSV[10];
  12.     char TenSV[10];
  13.     int NamSinh;
  14.     float Diem;
  15. };
  16. void NhapDSSV(SinhVien ds[], int &n)
  17. {
  18.     cout<<"NHap Vao So Sinh Vien n:";
  19.     cin>>n;
  20.     for (int i=0;i<n;i++)
  21.     {
  22.         cout<<"\n\tNHap Thong Tin Sinh Vien Thu:"<<i+1;
  23.         cout<<"\n\t\t Nhap Ma Sinh Vien:";
  24.         flushall();
  25.         gets(ds[i].MaSV);
  26.         cout<<"\n\t\t Nhap Ten Sinh Vien :";
  27.         flushall();
  28.         gets(ds[i].TenSV);
  29.         cout<<"\n\t\t Nhap Nam Sinh Cua Sinh Vien:";
  30.         cin>>ds[i].NamSinh;
  31.         cout<<"\n\t\t NHap Diem Cua Sinh Vien:";
  32.         cin>>ds[i].Diem;
  33.     }
  34. }
  35. void XuatDSSV(SinhVien ds[], int n)
  36. {
  37.     cout<<"Thong Tin Sinh Vien Co Trong Danh Sach La :\n";
  38.     cout<<"\nMa SV"<<"\t"<<"Ten SV"<<"\t"<<"Nam Sinh"<<"\t"<<"DiemTB"<<endl;
  39.     cout<<"=======================================================\n";
  40.     for(int i=0;i<n;i++)
  41.         cout<<ds[i].MaSV<<"\t"<<ds[i].TenSV<<"\t"<<ds[i].NamSinh<<"\t"<<ds[i].Diem<<endl;
  42. }
  43. void  InterchangeSortTang (SinhVien ds[], int n)
  44. {
  45.     for(int i=0;i<n;i++)
  46.         for(int j=i+1;j<n;j++)
  47.             if(ds[i].Diem > ds[j].Diem)
  48.                 swap(ds[i].Diem,ds[j].Diem);
  49. }
  50. void QuickSortTang(SinhVien ds[], int l , int r)
  51. {
  52.     int m=(l+r)/2; int x=ds[m].Diem;
  53.     int i=l;
  54.     int j=r;
  55.     do
  56.     {
  57.         while (ds[i].Diem<x)
  58.             i++;
  59.         while(ds[j].Diem>x)
  60.             j--;
  61.         {
  62.             swap(ds[i].Diem,ds[j].Diem);
  63.             i++;
  64.             j--;
  65.            
  66.         }
  67.     }
  68.     while (i<j);
  69.     if(l<j)
  70.         QuickSortTang(ds,l,j);
  71.     if(i<r)
  72.         QuickSortTang(ds,i,r);
  73. }
  74.  
  75. void main()
  76. {
  77.     SinhVien ds[50];
  78.     int n,x;
  79.     NhapDSSV(ds,n);
  80.     XuatDSSV(ds,n);
  81.     InterchangeSortTang(ds,n);
  82.     cout<<"\n DS Sinh Vien Co Diem Tang Dan Theo Interchangesort:";
  83.     XuatDSSV(ds,n);
  84.     QuickSortTang(ds,l,r);
  85.     cout<<" Cac SV Diem Tang Dan Theo QuickSort :";
  86.     XuatDSSV(ds,n);
  87.     getch();
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement