Bài xen kẽ phần tử: Chương 1
Bài xen kẽ phần tử: Chương 1
#include<cmath>
void GopMang(int A[], int B[], int nA, int nB);
void nhap(int A[100], int &nA);
int main()
{
int A[100];
int B[100];
int nA, nB;
nhap(A, nA);
nhap(B, nB);
GopMang(A, B, nA, nB);
system("pause");
}
void nhap(int A[100], int &nA)
{
scanf_s("%d", &nA);
for (int i = 0; i < nA; i++)
scanf_s("%d", &A[i]);
}
void xuat(int C[], int nC)
{
for (int i = 0; i < nC; i++)
printf("%d \n", C[i]);
}
void GopMang(int A[], int B[], int nA, int nB)
{
int vitri = 0;
int C[200];
int nC = 0;
if (nA > nB) // nếu A nhiều ptu hơn B
{
for (int i = 0; i < nB; i++) //xen kẽ
{
C[nC++] = A[i];
C[nC++] = B[i];
vitri = i;
}
for (int i = vitri+1; i < nA; i++) // thêm vẫn tử còn lại của A vào cuối mảng C
C[nC++] = A[i];
}
else
{
{
for (int i = 0; i < nA; i++)
{
C[nC++] = A[i];
C[nC++] = B[i];
vitri = i;
}
for (int i = vitri + 1; i < nB; i++)
C[nC++] = B[i];
}
}
xuat(C, nC);
}
#include<string.h>
#include<cmath>
}
int NamNhuan(int yy) // kiem tra nam nhuan
{
if (yy % 4 == 0 && yy % 100 == 0)
return 1;
return 0;
}
int xuli(int &dd, int &mm, int &yy,int A[])
{
if (NamNhuan(yy) == 1)
A[2] = 29;
if (dd <0 || dd> A[mm]) // TH sai
return 0;
if ( NamNhuan(yy) == 0 && dd > 28 ) //
return 0;
if (yy <= 0 || mm > 13 || mm <= 0 )
return 0;
Hieu[t]='\0';
}
void ChuanHoaChuoi(char S1[100],char S2[])
{
int nS1 = strlen(S1);
int nS2 = strlen(S2);
_strrev(S1);
_strrev(S2);
if (nS1 > nS2)
{
int t = nS1 - nS2;
for(int i=0; i < t; i++)
S2[nS2++] = '0';
}
if (nS2 > nS1)
{
int t = nS2 - nS1;
for (int i = 0; i < t; i++)
S1[nS1++] = '0';
}
_strrev(S2);
_strrev(S1);
}
}
//dutru 1 va dutru la những biến để lùi dòng thụt cột.
Bài Tìm Điểm Lòi
#include<stdio.h>
#include<stdlib.h>
}
void timmin(int nx,int X1[],int Y1[],float a[][100])
{
int x=0, y=0;
float min = a[X1[0]][Y1[0]];
for (int i = 0; i < nx; i++)
if (a[X1[i]][Y1[i]] < min)
{
min = a[X1[i]][Y1[i]];
x = X1[i]; //m
y = Y1[i]; //n
}
printf("%3d%3d", x-1, y-1);
}
void main()
{
int X[5] = { -1,0,1,0 };
int Y[5] = { 0,-1,0,1 };
int m, n;
int nx = 0;
int X1[100], Y1[100];
float a[100][100];
nhap(m, n, a);
diemloi(m, n, a,X,Y,nx,X1,Y1);
timmin(nx, X1, Y1, a);
system("pause");
}
Chương 3
tập con
#include<stdio.h>
#include<cmath>
void TapCon(int A[], int nA, int n);
void main()
{
int n;
int nA = 1;
int A[100] = { 0 };
scanf_s("%d", &n);
TapCon(A, nA, n);
system("pause");
}
void xuat(int A[],int nA)
{
for (int i = 0; i < nA; i++)
printf("%d", A[i]);
printf("\n");
}
void TapCon(int A[], int nA, int n)
{
int dem = 0;
int xet = 1;
xuat(A, nA);
while( xet != 0 )
{
while (dem != 1) // xet dieu kien tang duoc
{
if (A[nA - 1] == n - 1)
dem = 1;
else
{
A[nA] = A[nA - 1] + 1;
nA++;
xuat(A, nA);
}
}
if (nA > 1) // khi khong tang duoc
{
nA--;
A[nA - 1] = A[nA - 1] + 1;
xuat(A, nA);
dem = 0;
}
else
xet = 1;
}
}
Bài hoán vị
#include<stdio.h>
#include<cmath>
void HoanVi(int A[], int nA);
void nhap(int A[], int &nA);
void main()
{
int A[100], nA;
nhap(A, nA);
HoanVi(A, nA);
system("pause");
}
void nhap(int A[],int &nA)
{
scanf_s("%d", &nA);
for (int i = 0; i < nA; i++)
scanf_s("%d", &A[i]);
}
void SapXep(int &x, int &y)
{
int gang = 0;
gang = x;
x = y;
y = gang;
}
void xuat(int A[], int nA)
{
for (int i = 0; i < nA; i++)
printf("%d ", A[i]);
printf("\n");
}
void DaoMang( int A[],int nA,int vitri)
{
}
Bài nhập số thực A ( 0< A < 4) tìn n nhỏ nhất thỏa …
#include<stdio.h>
#include<cmath>
int TimN(int &n, int A);
void xuat(int a);
int TimNC1(int n, int A, int kq);
void main()
{
int A;
int n = 0;
int kq = 0;
scanf_s("%d",&A);
int KQ=TimN(n, A);
int KQ2 = TimNC1(n, A,kq);
xuat(KQ);
xuat(KQ2);
system("pause");
}
int TimN(int &n,int A)
{
float kq = 0;
int i = 0;
while( kq < A)
{
n++;
kq = kq + float(1) / n;
}
printf("%f \n", kq);
return n;
}
// đệ quy
int TimNC1(int n,int A,int kq)
{
if (kq > A)
return n;
else
{
kq = float(1) / TimNC1(n++, A, kq);
return float(1) / TimNC1(n++, A, kq);
}
}
void xuat(int a)
{
printf("%d", a);
}