#include <iostream>
using namespace std;
#define MAX 100
// MẢNG 1 CHIỀU
// 1. HÀM NHẬP SỐ PHẦN TỬ
void NhapN(int &N)
{
do
{
cout << "Moi ban nhap so phan tu cua mang N = ";
cin >> N;
// 0 < N <= MAX
// Điều kiện phải ngược lại
if (N <= 0 || N > MAX)
cout << "Nhap sai vui long nhap la 0 < N <= " << MAX << "\n";
} while (N <= 0 || N > MAX);
}
// 2. HÀM NHẬP MẢNG
void NhapMang(int A[], int N)
{
for (int i = 0; i < N; i++)
{
cout << "A[" << i << "]= ";
cin >> A[i];
}
}
// 3. HÀM XUẤT MẢNG
void XuatMang(int A[], int N)
{
for (int i = 0; i < N; i++)
{
cout << A[i] << "\t";
}
}
// 195 Liệt kê các bộ 3 giá trị (a,b,c) thỏa a=b+c. ví dụ: (6,2,4)
void LietKe_Bo_3_ThoaDK_C1(int A[], int N)
{
for (int x = 0; x < N - 2; x++)
{
for (int y = x + 1; y < N - 1; y++)
{
for (int z = y + 1; z < N; z++)
{
if (A[x] == A[y] + A[z])
cout << "(" << A[x] << "," << A[y] << "," << A[z] << ")\n";
}
}
}
}
void LietKe_Bo_3_ThoaDK_C2(int A[], int N)
{
for (int x = 0; x < N - 2; x++)
{
for (int y = x + 1; y < N - 1; y++)
{
for (int z = y + 1; z < N; z++)
{
if (A[x] == A[y] + A[z])
cout << "(" << A[x] << "," << A[y] << "," << A[z] << ")\n";
if (A[y] == A[x] + A[z])
cout << "(" << A[y] << "," << A[x] << "," << A[z] << ")\n";
if (A[z] == A[x] + A[y])
cout << "(" << A[z] << "," << A[x] << "," << A[y] << ")\n";
}
}
}
}
int main()
{
int N = 0;
NhapN(N);
int A[MAX];
NhapMang(A, N);
cout << "MANG BAN DAU\n";
XuatMang(A, N);
cout << "\n";
cout << "Bai 195 C1: \n";
LietKe_Bo_3_ThoaDK_C1(A, N);
cout << "\n";
cout << "Bai 195 C2: \n";
LietKe_Bo_3_ThoaDK_C2(A, N);
cout << "\n";
return 0;
}
Link code backup : http://codepad.org/qHC4hUoR
Không có nhận xét nào:
Đăng nhận xét