Thứ Năm, 8 tháng 12, 2016

Bài tập 204-205-206 Tổng các ptử lớn hơn ptử đứng liền trước nó

#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