#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 //207 Tổng các ptử cực trị – Cực trị là ptử khi nó lớn hoặc nhỏ hơn ptử xung quanh // VD : 2 4 6 3 4 1 6 // ==> 2 6 3 4 1 6 int Tong_CucTri(int A[], int N) { int S = 0; for (int i = 1; i < N - 1; i++) { // Xét phần tử thứ i if ((A[i] > A[i - 1] && A[i] > A[i + 1]) || (A[i] < A[i - 1] && A[i] < A[i + 1])) S = S + A[i]; } // Xét phần tử đầu tiên if (A[0] > A[1] || A[0] < A[1]) S += A[0]; // Xét phần tử cuối cùng if (A[N - 1] > A[N - 2] || A[N - 1] < A[N - 2]) S += A[N - 1]; return S; } //208 Tổng các ptử chính phương bool KiemTra_SCP(int N) { for (int i = 1; i <= N / 2; i++) { if (i * i == N) return true; // Là số chính phương } return false; // Không là số chính phương } int Tong_SCP(int A[], int N) { int S = 0; for (int i = 0; i < N; i++) { // Gọi hàm kiểm tra SCP bool kq = KiemTra_SCP(A[i]); if (kq) S += A[i]; } return S; } //209 Tổng các ptử đối xứng // VD : 123 // ==> 3 ==> 0 * 10 + 3 = 3 // ==> 2 ==> 3 * 10 + 2 = 32 // ==> 1 ==> 32 * 10 + 1 = 321 int SoDaoNguoc(int N) { int sdn = 0; while (N > 0) { int dv = N % 10; sdn = sdn * 10 + dv; N = N / 10; } return sdn; } // VD : 1 12 121 321 454 int Tong_SDX(int A[], int N) { int S = 0; for (int i = 0; i < N; i++) { int sdn = SoDaoNguoc(A[i]); if (sdn == A[i]) { 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 kq_207 = Tong_CucTri(A, N); cout << "BAI TAP 207 : tong cuc tri = " << kq_207; cout << "\n"; int kq_208 = Tong_SCP(A, N); cout << "BAI TAP 208 : tong so chinh phuong = " << kq_208; cout << "\n"; int kq_209 = Tong_SDX(A, N); cout << "BAI TAP 209 : tong so doi xung = " << kq_209; cout << "\n"; cout << "\n"; return 0; }
Lập trình máy tính (gọi tắt là lập trình; tiếng Anh: programming) là kỹ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một hoặc nhiều ngôn ngữ lập trình để tạo ra một chương trình máy tính. Lập trình có các thành tố nghệ thuật, khoa học, toán học, và kỹ nghệ. Lập trình nhiều thì bạn sẽ thấy niềm vui và sự hứng thú torng đó. CNTT lập trình tuyệt vời.
Thứ Sáu, 23 tháng 12, 2016
Bài tập 207-208-209 : Tính tổng các phần tử cực trị
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét