#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";
}
}
// Hàm Tính Tổng
// 1 Khai báo biến Tổng S = 0
// 2. Duyệt
// 2.1 Nếu
// Tính tổng
// 3 Trả về tổng
//204 Tổng các ptử lớn hơn ptử đứng liền trước nó
// vd : 3 5 7 1 9 3 5 2 1
// ==> 5 7 9 5
// ==> S = 26
int Tong_PhanTu_LonHon_Truoc(int A[], int N)
{
int S = 0;
for (int i = 1; i < N; i++)
{
if (A[i] > A[i - 1])
{
S = S + A[i];
}
}
return S;
}
//205 Tổng các ptử lớn hơn trị tuyệt đối của ptử liền sau nó
int Tong_PhanTu_LonHonTriTuyetDoi_Sau(int A[], int N)
{
int S = 0;
for (int i = 0; i < N - 1; i++)
{
if (A[i] > abs(A[i + 1]) )
{
S = S + A[i];
}
}
return S;
}
//206 Tổng các ptử lớn hơn ptử xung quanh
// VD : 4 62 7 6 1 ==>kq = 62
int Tong_PhanTu_LonHon_XungQuanh(int A[], int N)
{
int S = 0;
for (int i = 1; i < N - 1; i++)
{
if (A[i] > A[i -1] && A[i] > A[i + 1])
{
S = S + A[i];
}
}
return S;
}
int main()
{
int N = 0;
NhapN(N);
int A[MAX];
NhapMang(A, N);
cout << "MANG BAN DAU\n";
XuatMang(A, N);
cout << "\n";
int kqBai204 = Tong_PhanTu_LonHon_Truoc(A, N);
cout << "Bai 204 : Tong lien truoc la " << kqBai204;
cout << "\n";
int kqBai205 = Tong_PhanTu_LonHonTriTuyetDoi_Sau(A, N);
cout << "Bai 205 : Tong tri tuyet doi lien sau la " << kqBai205;
cout << "\n";
int kqBai206 = Tong_PhanTu_LonHon_XungQuanh(A, N);
cout << "Bai 206 : Tong lon hon xung quanh la " << kqBai206;
cout << "\n";
return 0;
}
Link Code:http://codepad.org/REzputG9
Không có nhận xét nào:
Đăng nhận xét