View
214
Download
0
Category
Preview:
DESCRIPTION
bia
Citation preview
TRƯỜNG ĐẠI HỌC BÁCH KHOAHÀ NỘI------
BÁO CÁO NGÔN NGỮ LẬP TRÌNH
Giảng viên hướng dẫn: Vũ Song Tùng
Nhóm sinh viên thực hiện:
Nguyễn Văn Sơn Mssv:20122357 Lớp: ĐTTT 03-k57
Nguyễn Thị Lệ Quyên Mssv:20124983 Lớp: ĐTTT 07-k57
Nguyễn Xuân Cương Mssv:20121354 Lớp: ĐTTT 05-k57
- Hà Nội, 04/2014 -
0
Bai 1.
// Giai Phuong Trinh Bac Hai !!!
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
double a, b, c;
while(1)
{
cout<<"\n\n\nNhap a,b,c: (a=0thoat)\n";
cin>>a>>b>>c;
if(a==0) return 0;
double d,x1,x2;
d=b*b-4*a*c;
if(d<0)
{
cout<<"\nVo nghiem";
continue;
}
d=sqrt(d);
if(d==0)
{
cout<<"\nx1=x2="<<-b/(2*a);
continue;
}
cout<<"\nx1="<<(-b+d)/(2*a)<<" ,x2="<<(-b-d)/(2*a);
}
system("pause");1
}
Bai 2:
// Kiem tra tam giac !
#include<iostream>
using namespace std;
main()
{
int a,b,c;
cout<<"Nhap a,b,c:";
cin>>a>>b>>c;
while((a+b)<=c||(a+c)<=b||(b+c)<=a||a<=0||b<=0||c<=0)
{
cout<<"Do dai ba canh khong phai cua 1 tam giac, hay nhap lai!\
n"<<"a,b,c= ";
cin>>a>>b>>c;
}
int canh=(b==c)|((a==c)<<1)|((a==b)<<2);
a*=a; b*=b; c*=c;
int goc=(a==b+c)|((b==a+c)<<1)|((c==a+b)<<2);
cout<<"Tam giac la tam giac ";
switch((goc<<4)|canh) {
case(0): cout<<"thuong"; break;
case(7): cout<<"deu"; break;
default:
if(goc!=0) cout<<"vuong ";
if(canh!=0) cout<<"can ";
cout<<"tai "<<(char)(((canh|goc)>>1)+65);
}
cout<<endl;
system("pause");
2
}
Bai 3:
// In mot ma tran voi cac phan tu nhap vao tu ban phim, su dung mang 1
chieu!
#include<iostream>
using namespace std;
int main()
{
int a[30];
int m,n,k;
cout<<"\nNhap kich thuoc ma tran voi m hang, n cot: \n";
cin>>m>>n;
k=m*n;
cout<<"\nNhap cac phan tu cua ma tran:\n";
for(int i=0;i<k;i++)
{
cout<<"Nhap phan tu thu: "<<i+1<<": ";
cin>>a[i];
}
cout<<"\nMa tran ban vua nhap la: \n";
for (int i=0; i<k; i++)
{
if((i+1)%n==0) cout<<a[i]<<endl;
else cout<<a[i]<<'\t';
}
system("pause");
}
Bai 4:
// kiem tra so bit bang 0 trong so a nhap vao tu ban phim!
3
#include<iostream>
using namespace std;
int main()
{
int a,s;
while(1)
{
cout<<"\nNhap so (a>0) can kiem tra,(a=0 de thoat) a= ";
cin>>a;
if(a==0) break;
for(s=0; a>0;a>>=1)
if((a&1)==0) s++;
cout<<"So bit bang 0 trong a la : "<<s<<endl;
system("pause");
}
}
Bai 5:
//tim vi tri cuoi cung cua gia tri x trong mang a[] !
#include<iostream>
using namespace std;
int main()
{
int x,j=-1,a[5];
cout<<"\nNhap phan tu can tim x= ";
cin>>x;
cout<<"\nNhap cac phan tu cua mang a[]: ";
for(int i=0;i<5;i++)
{
cin>>a[i];
if(a[i]==x) j=i;
4
}
cout<<"Phan tu co gia tri = "<<x<<" cuoi cung trong mang o vi tri:
"<<j<<endl;
system("pause");
}
Bai 6:
// Bai toan in lich cac nam!!!
#include<iostream>
using namespace std;
int main()
{
int nam=2016;
int d=nam-2000;
int j=(d+((d-1)>>2))%7;
cout<<"\n\n\t\t\tNam "<<nam;
for(int thang=1;thang<=12;thang++)
{
int ngay=31;
switch(thang){
case 2: ngay=nam&3?28:29; break;
case 4: case 6: case 9: case 11: ngay= 30;
break;
}
cout<<"\n\n\nThang "<<thang<<endl;
cout<<"CN\tT2\tT3\tT4\tT5\tT6\tT7\n";
for(int t=0;t<j;t++)
cout<<'\t';
for(d=1;d<=ngay;d++)
{
cout<<d;
5
if(j==6) {
cout<<'\n'; j=0;
}
else{
cout<<'\t'; j++;
}
}
}
system("pause");
}
Bai 7:
// Bai tap tao 1 mang co gia tri bat ki nam trong khoang!!!
#include<iostream>
using namespace std;
int main() {
int s[100];
int i, d2=0, d8=0;
for(i=0;i<100;i++)
s[i]=rand()%100+1;
for(i=0;i<100;i++)
{
if((s[i]&1)==0) {
d2++;
if((s[i]&7)==0)
d8++;
}
}
cout<<"So luong so chan la "<<d2<<endl;
cout<<"So luong so le la "<<(100-d2)<<'\n';
cout<<"So luong cac so chia het cho 8 la "<<d8<<'\n';
6
system("pause");
}
Bai 8:
// Tinh do dai cua 1 xau ki tu nhap vao tu ban phim!
#include<iostream>
using namespace std;
int main()
{
int len=0;
char s[100]="123456";
while(s[len]) len++;
cout<<len;
system("pause");
}
Bai 9:
// Chuan hoa 1 xau ki tu nhap vao tu ban phim !
#include<iostream>
using namespace std;
int main()
{
cout<<"Nhap 0 de thoat.\n";
while (1)
{
char a[100];
char c, last=32;
int i=0, j=0;
fflush(stdin);
cin.getline(a,100);
if (a[0]==0)
break;
7
while((c=a[i++])!='\0')
{
if(last==32)
{
if(c==32) continue;
if(c>='a'&&c<='z') c-=32;
}
else
{
if(c>='A'&&c<='Z') c+=32;
}
a[j]=last=c; j++;
}
if((last==32)&&(j>0)) j--;
a[j]='\0';
cout<<a<<endl<<endl;
}
system("pause");
}
Bai 10:
// InsertSort!!
#include<iostream>
using namespace std;
int InsertSort(int A[],int N)
{
for(int i=1;i<N;i++)
{
int e=A[i];
int j=i-1;
8
while((j>=0)&&(A[j]>e))
A[j+1]=A[j--];
A[j+1]=e;
}
return 0;
}
int main()
{
int s[]={ 22, 33, 55, 77, 11, 44, 66};
InsertSort(s,7);
for(int i=0; i<7;i++)
cout<<s[i]<<'\t';
cout<<endl;
system("pause");
}
Bai 11:
//sap xep lua chon!!
#include<iostream>
using namespace std;
int selectionsort(int a[],int n)
{
for(int i=0; i<n-1;i++)
{
int m=i, j=0;
for(j=i+1;j<n;j++)
if(a[j]<a[m]) m=j;
if(m!=j) swap(a[j], a[m]);
}
return 0;
9
}
int main()
{
int b[]={22, 44, 66, 33, 55, 11, 77};
selectionsort(b, 7);
for(int i=0; i<7; i++)
cout<<b[i]<<endl;
system("pause");
}
Bai 12:
// thuat toan noi bot!!!
#include<iostream>
using namespace std;
int bubblesort(int a[],int n)
{
for(int i=0;i<n-1;i++)
{
int c=0;
for(int j=n-1;j>i;j--)
if(a[j-1]>a[j])
{
swap(a[j-1], a[j]);
c=1;
}
if(c==0) break;
}
return 0;
}
10
int main()
{
int b[]={22, 44, 66, 33, 55, 11, 77};
bubblesort(b, 7);
for(int i=0; i<7; i++)
cout<<b[i]<<endl;
system("pause");
}
Bai 13:
// Sap xep nhanh!!
#include<iostream>
using namespace std;
int Swap(int &a, int&b)
{
int t=a;
a=b;
b=t;
return 0;
}
int Part( int a[], int l, int n)
{
int i=l+1;
11
int j=n;
while (i<=j)
{
while ((i<=j)&&(a[i]<a[l]))
i++;
while ((i<=j)&&(a[j]>a[l]))
j--;
if (i<j)
Swap(a[i],a[j]);
}
Swap(a[l],a[j]);
return j;
}
int QuickSort(int a[], int l, int n)
{
if(l<n)
{
int j=Part(a,l,n);
QuickSort(a,l,j-1);
QuickSort(a,j+1,n);
}
return 0;
}
int main()
{
int a[] = { 33, 44, 11, 66, 55, 22};
QuickSort(a, 0, 5);
for (int i=0; i<6; i++)
cout<<a[i]<<'\t';
cout<<endl;
12
system("pause");
return 0;
}
Bai 14:
// So sanh cac thuat toan!!
#include<iostream>
using namespace std;
int n;
int swap(int &a, int &b) //doi cho 2 phan tu!!!
{
a=a^b;
b=a^b;
a=a^b;
return 0;
}
int comparecount; //dem so lan so sanh trong thuat toan!!!
template <class _T>
int compare( _T a, _T b)
{
comparecount++;
if(a<b) return -1;
return a>b;
}
int *org= '\0';
int *a= '\0';
int N;
void createorg(int n) //nhap mang org voi cac gia tri ngau nhien!!!
{
13
N=n;
if(org!='\0')
{delete []org;delete []a;}
org=new int[n];
a=new int [n];
for(int i=0; i<N; i++)
org[i]=rand();
}
void reset() //dua gia tri compare ve 0, gan gia tri cho mang A tu mang
org!!!
{
comparecount=0;
for(int i=0;i<N;i++)
a[i]=org[i];
}
int InsertionSort(int a[],int n) // sap xep chen!!!
{
for( int i=1; i<n; i++)
{
int s=a[i];
int j=i-1;
while(j>=0)
{
if (compare(a[j],s)>0)
a[j+1]= a[j--];
}
a[j+1]=s;
}
return 0;
}
14
int Part( int a[], int l, int n)//phan doan!!
{
int i=l+1, j=n, d1=0, d2=0;
while (i<=j)
{
while ((i<=j)&&(compare(a[i],a[l])<0))
i++; d1++;
while ((i<=j)&&(compare(a[j],a[l])>0))
j--; d2++;
if (i<j)
swap(a[i],a[j]);
}
swap(a[l],a[j]);
return j;
}
void QuickSort(int a[], int l, int n) //sap xep nhanh!
{
if(l<n)
{
int j=Part(a,l,n);
QuickSort(a,l,j-1);
QuickSort(a,j+1,n);
}
}
int BubbleSort(int a[],int n) //sap xep noi bot!!!
{
for(int i=0;i<n-1;i++)
{
int c=0;
for(int j=n-1;j>i;j--)
15
if(compare(a[j-1],a[j])>0)
{
swap (a[j-1], a[j]);
c=1;
}
if(c=0) break;
}
return 0;
}
int SelectionSort(int a[],int n) //sap xep lua chon!!
{
for(int i=0; i<n-1;i++)
{
int m=i, j=0;
for(j=i+1;j<n;j++)
if(compare(a[j],a[m])<0) m=j;
if(m!=j) swap(a[j], a[m]);
}
return 0;
}
void heaprify(int *A, int i, int n)
{
int l = 2*i +1;
int r = 2*i + 2;
int largest;
if(l < n && (compare(A[l] , A[i])>0))
largest = l;
else
largest = i;
if(r < n && compare(A[r], A[largest])>0)
16
largest = r;
if(largest !=i)
{
swap(A[i], A[largest]);
heaprify(A, largest, n);
}
}
void buildheap(int *a, int n) //vun dong !
{
int i;
for(i=n/2; i>=0; i--)
heaprify(a, i, n);
}
void HeapSort(int *A, int n)// sap xep vun dong!
{
int i;
buildheap(A, n);
for(i=n-1;i>0;i--)
{
swap(A[0], A[i]);
heaprify(A, 0, i-1);
}
}
void Dosort(char *method)
{
reset();
switch (method[0])
{
case 'S': SelectionSort(a,n); break;
17
case 'I': InsertionSort(a,n); break;
case 'B': BubbleSort(a,n); break;
case 'Q': QuickSort(a,0,n); break;
case 'H': HeapSort(a,n); break;
}
cout<<method<<"sort: \t"<<comparecount<<endl;
}
void sortcompare (int n)
{
cout<<".....compare N= "<<n<<".....\n";
createorg(n);
Dosort ("Selection");
Dosort ("Insertion");
Dosort ("Buble");
Dosort ("Quick");
Dosort ("Heap");
cout<<endl<<endl;
}
int main()
{
int length[]={100, 1000, 10000, 100000};
for(int i=0;i<4;i++)
{
cout<<"\n";
sortcompare (length[i]);
}
delete []org;
delete []a;
system("pause");
}
18
19
Recommended