0% found this document useful (0 votes)
30 views15 pages

C++ Programming Exercises Compilation

Uploaded by

hoangmon2k44
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views15 pages

C++ Programming Exercises Compilation

Uploaded by

hoangmon2k44
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Họ và tên : Phạm Xuân Bắc

Lớp : ĐTTT 07 K57


MSSV : 20121268
Bài tập thực hành
Program 1.1
#include <iostream>
using namespace std;
void main()
{
char a;
cout<<"nhap mot ki tu\t";
cin >> a;
cout<<"Ki tu la "<< a <<"\nMa ASSI la "<< dec << (int)a<<"\n";
cout<< hex << "He co so 16 la 0x" << (int)a << "\n";
cout<< oct <<"He co so 8 la 0"<<(int)a << "\n";
system("pause");
}
Program 1.2
#include <iostream>
using namespace std;
void main()
{
double f,C,pi;
pi=3.14159;
cout<<"Nhap f=";
cin>> f;
cout<<"\n";
cout<<"Nhap C=";
cin>>C;
cout<<"\n";
cout<<"Xc="<<1/(2*pi*f*C);
system("pause");
}

Program 1.3
#include <iostream>
using namespace std;
void main()
{
double R1,R2,R3;
char cach_mac[20];
cout<<"R1=";
cin>>R1;
cout<<"R2=";
cin>>R2;
cout<<"R3=";
cin>>R3;
cin.ignore();
cout<<"Cach mac 3 dien tro la: ";
cin.get(cach_mac, 20);
if (strcmp(cach_mac, "noi tiep") == 0)
cout<<"Rt= "<<R1+R2+R3;
else
cout<<"Rt= "<<(1/(1/R1+1/R2+1/R3));
system("pause");
}

Program 2.1
#include <iostream>
using namespace std;
void main()
{
double R[20],Rt,Rn;
int i,n;
char cach_mac[20];
Rt=0;
Rn=1;
cout<<"so dien tro trong mach la\t";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"R["<<i<<"]=";
cin>>R[i];
Rt=Rt+R[i];
Rn=Rn*R[i];
}
cin.ignore();
cout<<"Cach mac"<<i-1<<" dien tro la: ";
cin.get(cach_mac, 20);
if (strcmp(cach_mac, "noi tiep") == 0)
cout<<"Rt= "<<Rt;
else
cout<<"Rt= "<<(Rn/Rt);

system("pause");
}
Program 2.2
#include<iostream>
using namespace std;

void main()
{
char qua[200];
int i,l,k,t=1;
k=0;
cout<<"Ban dang nghi gi\n";
cin.get(qua, 200);
l=strlen(qua);

if(qua[0]==32)
{
cout<<"Dau cach dau cau\n";
t=0;
}

if(qua[l-1]==32)
{
cout<<"Dau cach cuoi cau\n";
t=0;
}

for(i=0;i<l;i++)
{
if(qua[i]==32&& qua[i+1]==32)
{
cout<<"hai dau cach lien nhau\n";
t=0;
break;
}
}

if (t==1)
{
for (i = 0; i<l; i++)
if (qua[i]==32)
k++;
cout << "so tu la: " << k+1 << endl;
}
system("pause");
}

Program 2.3
#include<iostream>
using namespace std;
void main()
{
double a[10][10],h[100],k[100];
int i,j,n,m,S;
cout<<"nhap m=";
cin>> m;
cout<<"nhap n=";
cin>>n;
if(n>10||n<0||m>10||m<0)
cout<<"khong dung quy cach\n";
else
{
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
cout<<"Nhap a["<<i+1<<"]["<<j+1<<"]=";
cin>> a[i][j];
}
}
for(i=0;i<m;i++)
{
h[i]=0;
for(j=0;j<n;j++)
{
h[i]=h[i]+a[i][j];
}
cout<<"tong hang "<<i+1<<" la "<<h[i]<<"\n";
}
for(j=0;j<n;j++)
{
k[j]=0;
for(i=0;i<m;i++)
{
k[j]=k[j]+a[i][j];
}
cout<<"tong cot "<<j+1<<" la "<<k[j]<<"\n";
}
S=0;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
S=S+a[i][j];
}
}
cout<<"Tong ma tran la "<<S;
}
system("pause");
}
Bài 1
#include<iostream>
using namespace std;
int Factorial(int n)
{
if(n<2)
return 1;
else
{
return n*Factorial(n-1);
}
}
void main()
{
int n;
cout<<"Nhap n= ";
cin>> n;
cout<<n<<"!="<<Factorial(n)<<"\n";
system("pause");
}

Bài 2
#include<iostream>
using namespace std;

double Pow(double x, int n)


{
if (n==0)
{
return 1;
}
else if (n==1) {
return x;
} else return x*Pow(x, n-1);
}

void main()
{
int n;
double x;
cout<<"Nhap x=";
cin>> x;
cout<<"Nhap n=";
cin>>n;
cout <<"x^n="<<Pow(x, n)<<"\n";
system("pause");
}
Bài 3
#include<iostream>
using namespace std;
int USCLN (int a,int b)
{
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
}
return a;
}
void main()
{
int a,b;
cout<<"Nhap a=";
cin>>a;
cout<<"Nhap b=";
cin>>b;
if(a==0 || b==0)
cout<<"Khong co uoc\n";
else
cout<<"USCLN="<<USCLN(a,b)<<"\n";
system("pause");
}

Bài 4
#include<iostream>
#include<math.h>
using namespace std;
double Pow(double x, int n)
{
if (n==0)
{
return 1;
}
else if (n==1) {
return x;
} else return x*Pow(x, n-1);
}

double Value(double a[],int n,double x)


{
int i;
double f=0;
for(i=0;i<=n;i++)
{
f=a[i]*Pow(x,i)+f;
}
return f;
}
void main()
{
int i,n,x;
double a[10];
cout<<"Nhap n=";
cin>> n;
cout<<"Nhap x=";
cin>> x;
for(i=0;i<=n;i++)
{
cout<<"Nhap a["<<i<<"]=";
cin>> a[i];
}
cout<<"f(x)="<<Value(a,n,x);
system("pause");
}
Bài 5
#include<iostream>
using namespace std;

double Pow(double x, int n)


{
if (n==0)
{
return 1;
}
else if (n==1)
{
return x;
}
else return x*Pow(x, n-1);
}

double Root(double a[],int n,double x1,double x2)


{
int i;
double x;
for(x=x1;x<=x2;x+=0.01)
{
double f=0;
for(i=0;i<=n;i++)
{
f=a[i]*Pow(x,i)+f;
}
if(f==0)
return x;
}

void main()
{
int i,n;
double x1, x2;
double a[10];
cout<<"Nhap n=";
cin>> n;
for(i=0;i<=n;i++)
{
cout<<"Nhap a["<<i<<"]=";
cin>> a[i];
}
cout<<"Nhap x1=";
cin>> x1;
cout<<"Nhap x2=";
cin>>x2;
cout<<"giao truc hoanh tai x="<<Root(a,n,x1,x2);
system("pause");
}

Bài 6
#include<iostream>
using namespace std;
void InsertionSort(int A[], int N, int Indies[])
{
int i,j, e;
for(i=1; i <= N; i++)
{
for(j = i - 1; j>=1; j--)
if(A[Indies[j]] > A[i])
{
Indies[j+1] = Indies[j];
}
else break;
Indies[j+1] = i;
}
}
void main()
{
int A[100],i,N,Indies[100];
cout<<"Nhap so phan tu n=";
cin>> N;
for(i=1;i<=N;i++)
{
cout<<"Nhap A["<<i<<"]=";
cin >> A[i];
}
cout<<"Day sau khi sap xep la: " << endl;
InsertionSort(A,N,Indies);
for (int i = 1; i <= N; i++)
cout << A[Indies[i]] << " ";
system("pause");

}
Bài 7
#include<iostream>
using namespace std;
void SelectionSort(int a[], int n, int Indies[])
{
int i,j,e;
for(i=1;i<n;i++)
{
e=i;
for(j=i+1;j<=n;j++)
{
if(a[j]<a[e])
e=j;
}
if(e!=i)
swap(a[i],a[e]);
}
}
void main()
{
int a[100],i,n,Indies[100];
cout<<"Nhap so phan tu n=";
cin>> n;
for(i=1;i<=n;i++)
{
cout<<"Nhap a["<<i<<"]=";
cin >> a[i];
}
cout<<"Day sau khi sap xep la: " << endl;
SelectionSort(a,n,Indies);
for (int i = 1; i <= n; i++)
cout << a[i] << " ";
system("pause");

Bài 8
#include<iostream>
using namespace std;
void BubbleSort(int a[], int n, int Indies[])
{
int i,j,c;
for(i=1;i<n;i++)
{
c=0;
for(j=n;j>=i+1;j--)
{
if(a[j-1]>a[j])
{
swap(a[j-1],a[j]);
c=1;
}
}
if(c==0)
return;
}

}
void main()
{
int a[100],i,n,Indies[100];
cout<<"Nhap so phan tu n=";
cin>> n;
for(i=1;i<=n;i++)
{
cout<<"Nhap a["<<i<<"]=";
cin >> a[i];
}
cout<<"Day sau khi sap xep la: " << endl;
BubbleSort(a,n,Indies);
for (int i = 1; i <= n; i++)
cout << a[i] << " ";
system("pause");

}
Bai 9
#include<iostream>
using namespace std;
int Part(int a[], int l,int r)
{
int i=l+1;
int j=r;
while (j>=i)
{
while (i<=j && (a[i]<a[l])) i++;
while (i<=j && (j==i || (a[l]<a[j]))) j--;
if(i<j)
swap(a[i++],a[j--]);
}
swap(a[l],a[j]);
return j;
}

void main()
{
int a[100],i,r,l;
l=1;
cout<<"Nhap so phan tu n=";
cin>> r;
for(i=l;i<=r;i++)
{
cout<<"Nhap a["<<i<<"]=";
cin >> a[i];
}
cout<<"Day sau khi sap xep la: " << endl;
Part(a,l,r);
for (int i = 1; i <= r; i++)
cout << a[i] << " ";
system("pause");

Bài 10
#include<iostream>
#include<conio.h>
using namespace std;
void HeapRify(float*A,int i,int n,int Indies[])
{
int max,left,right,tg2;
float tg;
left=2*i+1;
right=2*i+2;
if(left<n)
{
max=left;
if((right<n)&&(A[Indies[right]]>A[Indies[left]])) max=right;
if(A[Indies[i]]<A[Indies[max]])
{
tg2=Indies[i];tg=A[Indies[i]];
Indies[i]=Indies[max];
A[Indies[i]]=A[Indies[max]];
Indies[max]=tg2;
A[Indies[max]]=tg;
HeapRify(A,max,n,Indies);
}
}
}
void BuilHeap(float*A,int n,int Indies[])
{
for(int i=n/2;i>=0;i--)HeapRify(A,i,n,Indies);
}
void HeapSort(float*A,int n,int Indies[]
{
float tg;
int tg2;
BuilHeap(A,n,Indies);
for(int i=n-1;i>0;i--)
{
tg2=Indies[0];
tg=A[Indies[0]];
Indies[0]=Indies[i];A[Indies[0]]=A[Indies[i]];
HeapRify(A,0,i,Indies);
}
}
int main(int argc,char*argv[])
{
float*A;
int n,i,*Indies;
do
{
cout<<"Nhap so chi cua mang Indies n=";cin>>n;
}
while(n<=0);
A=new float[n];
Indies=new int[n];
for(i=0;i<n;i++)
{
Indies[i]=i;
printf("A[%d]=",i);
cin>>A[Indies[i]];
}
HeapSort(A,n,Indies);
cout<<"\n Mang sau khi sap xep"<<endl;
for(i=0;i<n;i++) cout<<"A["<<Indies[i]<<"]="<<A[Indies[i]]<<endl;
cout<<"\n \n";
system("pause");
}
Bài 12
#include<iostream>
using namespace std;
class Int32
{
int value;
public:
Int32(int v):value(v) {}
void Parse(const char*s);
}
void Int32::Parse(const char*s)
{
int k,tmp=0;
int l=strlen(s);
for(int i=0;i<l;i++)
{
k=s[i]-48;
tmp=tmp*10+k;
}
value=tmp;
}

Bài 13
#include <iostream>
#include <math.h>

using namespace std;


class Array
{
int*data,len;
public:
Array(int A[],int N);
~Array();
int Sum();
double Avg();
int Max();
int Min();
void GetRange(int & min,int& max);
};
Array::Array(int A[],int N)
{
len = N;
data = A;
}
Array::~Array()
{
delete[] data;
}
int Array::Sum()
{
int i,sum=0;
for(i=0;i<len;i++)
{
sum=sum+data[i];
}
return sum;
}
double Array::Avg()
{
int Sum=Array::Sum();
return Sum/len;
}
int Array::Max()
{
int max,i;
max=data[1];
for(i=0;i<len;i++)
{
if(max<data[i+1])
max=data[i+1];
}
return max;
}
int Array::Min()
{
int min,i;
min=data[1];
for(i=0;i<len;i++)
{
if(min>data[i+1])
min=data[i+1];
}
return min;
}
void Array::GetRange(int & min,int & max)
{
int i;
min=data[1];
max=data[1];
for(i=0;i<len;i++)
{
if(min>data[i+1])
min=data[i+1];
if(max<data[i+1])
max =data[i+1];
}
}

Bài 15
#include <iostream>
#include <math.h>

using namespace std;


class TamGiac {
double _a, _b, _c;
private:
int Kieu();
public:
TamGiac(double a, double b, double c);
void Print();
};

int TamGiac::Kieu()
{
if ((_a < _b + _c) && (_a > fabs(_b - _c)) && (_a*_b*_c > 0))
{
if ((_a == _b) && (_b == _c))
return 1; // Tam giac deu
if ((fabs(_a*_a - _b*_b - _c*_c) < 1e-8) || (fabs(_b*_b - _a*_a - _c*_c) < 1e-
8) || (fabs(_c*_c - _a*_a - _b*_b) < 1e-8))
if ((_a == _b) || (_b == _c) || (_c == _a))
return 3; // Tam giac vuong can
else return 2; // Tam giac vuong
else if ((_a == _b) || (_b == _c) || (_c == _a))
return 4; // Tam giac can
return 0; // Tam giac thuong
}
else return -1;
}

TamGiac::TamGiac(double a, double b, double c)


{
_a = a;
_b = b;
_c = c;
}

void TamGiac::Print()
{
switch (Kieu())
{
case 0:
cout << "Tam giac thuong.";
break;
case 1:
cout << "Tam giac deu.";
break;
case 2:
cout << "Tam giac vuong.";
break;
case 3:
cout << "Tam giac vuong can.";
break;
case 4:
cout << "Tam giac can.";
break;
default:
cout << "Tam giac khong hop le.";
}
}

int main(void)
{
TamGiac tg(2, sqrt((double)2), sqrt((double)2));
tg.Print();
system("pause");
}

You might also like