Tut 3

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

TUT 3

/*Bi 1:
Nhp vo mt s nguyn n 0, in ra cc k s ca s nh phn tng
ng vi s n.
V d: nu n = 3, in ra cc k s 1, 1; nu n = 6, in ra cc k s 1,
1, 0.
*/
#include <iostream>
#include <conio.h>
using namespace std;
#define MAX 100
void main()
{
int n, a[MAX];
cout<<"\nNhap so: ";
cin>>n;
for (int i=0; i<MAX; i++)
{
a[i] = n%2;
n/=2;
}
cout<<"\nSo nhi phan la: ";
for (int i=MAX-1; i>=0; i--)
if (a[i]==0)
continue;
else
{
for (int j=i; j>=0;j--)
{
cout<<a[j];
if (j>0)
cout<<",";
else
cout<<".";
}
break;
}
getch();
}

/*Bi 2:
a. Nhp vo mt s nguyn n 1, in ra L s nguyn t nu n l s
nguyn t, ngc li in ra
Khng l s nguyn t.
V d: nu n = 7, in ra L s nguyn t; n = 6, in ra Khng l s
nguyn t.
b. Nhp vo mt s nguyn n 2, in ra cc s nguyn t m tch ca
cc s ny bng n.
V d: nu n = 5, in ra s 5 (5 = 5); nu n = 12, in ra cc s 2, 2, 3
(12 = 2 2 3).
*/
#include <iostream>
#include <conio.h>
using namespace std;
int kt_ngto(int a);
int pt_ngto(int b);
void main()
{
int a,b;
//cau 1a:
cout<<"Nhap so can kiem tra: ";
cin>>a;
if (a>=2)
if (kt_ngto(a))
cout<<"So "<<a<<" ko la so nguyen to!";
else
cout<<"So "<<a<<" la so nguyen to!";
else if (a==1)
cout<<"So "<<a<<" ko la so nguyen to!";
else
cout<<"So nhap ko hop le!";
//cau 1b:
cout<<"\n\nNhap so can phan tich so ngto: ";
cin>>b;
if (b>=2)
{
cout<<b<<" = ";
pt_ngto(b);
}
else
cout<<"\nSo nhap ko hop le!";
getch();
}
int kt_ngto(int a)
{
for (int i = 2; i<=a/2; i++)
if (a%i == 0)
return 1;
return 0;
}
int pt_ngto(int b)
{
for (int i=2; i<=b; i++)
if (kt_ngto(i))
continue;
else
{
while (b%i==0&&b>0)
{
cout<<i;
b/=i;
if (b>1)
cout<<" x ";
}
}
return 0;
}

/*Bi 3:
Nhp vo mt s nguyn n 0, in ra cc k s ca n, mi k s c in
ra u hng
mi.
V d: nu n = 12, in ra cc k s 1, 2; nu n = 2014, in ra cc k s
2, 0, 1, 4.
*/
#include <iostream>
#include <conio.h>
using namespace std;
#define MAX 100
void main()
{
int n, a[MAX];
cout<<"\nNhap so nguyen lon hon 0: ";
cin>>n;
if (n>=0)
{
cout<<"\nSo "<<n<<" bao gom cac ki so: ";
for (int i=0; i<MAX; i++)
{
a[i] = n%10;
n/=10;
}
for (int i=MAX-1; i>=0; i--)
if (a[i]==0)
continue;
else
{
for (int j=i; j>=0;j--)
{
cout<<"\n"<<a[j];
if (j>0)
cout<<",";
else
cout<<".";
}
break;
}
}
else
cout<<"\nSo khong hop le!";
getch();
}

/*Bi 4:
Nhp vo s phn t n 1, sau nhp vo gi tr cc phn t a[i]
ca mt mng a (0 i
< n), in ra gi tr ln nht v gi tr nh nht ca mng ny.
*/
#include <iostream>
#include <conio.h>
using namespace std;
#define MAX 100
void main()
{
int n;
float a[MAX],max,min;
do{
cout<<"\nNhap vao so phan tu: ";
cin>>n;
} while (n<=0);
for (int i =1; i<=n; i++)
{
cout<<"\nNhap vao phan tu thu "<<i<<" : ";
cin>>a[i-1];
if (i==1)
{
max = a[i-1];
min = a[i-1];
}
else if (a[i-1]>max)
max = a[i-1];
else if (a[i-1]<min)
min = a[i-1];
}
cout<<"\nSo lon nhat la: "<<max;
cout<<"\nSo nho nhat la: "<<min;
getch();
}

/*Bi 5:
Nhp vo s phn t n 1, sau nhp vo gi tr cc phn t a[i]
ca mt mng a (0 i
< n), in ra Mng c th t nu a[i] a[i+1] (0 i < n-1) hoc a[i]
a[i+1] (0 i < n-1), ngc
li in ra Mng khng c th t.
V d: nu mng a cha cc s 1, 2, 5, 5, 7, 9 hoc cha cc s 9, 7,
5, 5, 2, 1 th in ra
Mng c th t; nu mng a cha cc s 1, 2, 5, 3, 7, 9 th in ra
Mng khng c th t.
*/
#include <iostream>
#include <conio.h>
using namespace std;
#define MAX 100
void main()
{
int n, kt1 = 0, kt2 = 0;
float a[MAX];
do{
cout<<"\nNhap vao so phan tu: ";
cin>>n;
} while (n<=0);
for (int i =1; i<=n; i++)
{
cout<<"\nNhap vao phan tu thu "<<i<<" : ";
cin>>a[i-1];
if (i>=2)
{
if (a[i-1]<a[i-2])
kt1++;
if (a[i-1]>a[i-2])
kt2++;
}
}
if (kt1==0||kt2==0)
cout<<"\nMang co thu tu!";
else
cout<<"\nMang ko co thu tu!";
getch();
}

/*Bi 6:
Mt s nguyn dng c cha trong mt mng c n phn t, mi k s
c cha
trong mt phn t ca mng ny. V d: s nguyn 2014 c cha trong
mng c 6 phn t: 0,
0, 2, 0, 1, 4.
Nhp vo s phn t n 1, sau nhp cc phn t ca mng a biu
din s nguyn na,
v nhp cc phn t ca mng b biu din s nguyn nb.
a. In ra na lon hon nb nu na > nb, in ra na bang nb nu na = nb,
in ra na lon hon nb
nu na > nb.
V d: nu n = 5, mng a l 0, 0, 1, 7, 2 v mng b l 0, 0, 1, 5, 6
th in ra na lon hon
nb.
b. S nguyn nc = na + nb c cha trong mng c. In ra Tran so
(trn s) hoc in ra cc
k s ca s nguyn nc.
V d: nu n = 5, mng a l 0, 0, 1, 7, 2 v mng b l 0, 0, 1, 5, 6
th in ra 0, 0, 3, 2, 8;
nu n = 5, mng a l 4, 6, 1, 7, 2 v mng b l 9, 3, 1, 5, 6 th in
ra Tran so.
*/
#include <iostream>
#include <conio.h>
using namespace std;
#define MAX 100
void input(int n, int a[]);
int convert(int n, int a[]);
int overflow(int n, int s);
void output(int n, int s);
void main()
{
int n,sa,sb,sc;
int a[MAX], b[MAX], c[MAX];
do{
cout<<"\nNhap vao so phan tu n: ";
cin>>n;
} while (n<=0);
cout<<"\n\nMang a!";
input(n,a);
cout<<"\n\nMang b!";
input(n,b);
sa = convert(n,a);
sb = convert(n,b);
//cau 6a:
if (sa==sb)
cout<<"\nna=nb!";
else if (sa>sb)
cout<<"\nna>nb!";
else
cout<<"\nna<nb!";
//cau 6b:
sc = sa+sb;
if (overflow(n,sc))
cout<<"\n\nTran so";
else
output(n,sc);
getch();
}
void input(int n, int a[])
{
for (int i =1; i<=n; i++)
{
cout<<"\nNhap vao phan tu thu "<<i<<" : ";
cin>>a[i-1];
}
}
int convert(int n, int a[])
{
int s=0;
for (int i=0; i<n; i++)
s = s*10 + a[i];
return s;
}
void output(int n, int s)
{
int c[MAX];
cout<<"\n\nTong 2 mang la: ";
for (int i=0; i<n; i++)
{
c[i] = s%10;
s/=10;
}
for (int i=n-1; i>=0; i--)
{
cout<<c[i];
if (i>0)
cout<<",";
else
cout<<".";
}
}
int overflow(int n, int s)
{
int kt =0;
while (s!=0)
{
kt++;
s/=10;
}
if (kt>n)
return 1;
return 0;
}

You might also like