#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"; } } //Kĩ thuật đặt cờ hiệu // KIỂM TRA HOÀN TOÀN - chỉ cần 1 phần tử sai là ==> sai // KIỂM TRA TỒN TẠI - Chỉ cần 1 phần tử đúng là ==> đúng // flag = 0 ==> flag = 1 ==> flag // //252 Ta định nghĩa 1 mảng đc gọi là dạng sóng, //khi ptử có trị số I lớn hơn hoặc nhỏ hơn 2 ptử xung quanh. //Hãy viết hàm ktra mảng có sóng hay ko ? // KIỂM TRA HOÀN TOÀN - chỉ cần 1 phần tử sai là ==> sai int KiemTra_DangSong(int A[], int N) { int flag = 1; // Thỏa mản dạng sóng for (int i = 1; i < N - 1; i++) { if ((A[i - 1] > A[i] && A[i] > A[i + 1]) || (A[i - 1] < A[i] && A[i] < A[i + 1])) { flag = 0; // ko thỏa dạng sóng break; } } return flag; } //253 Hãy cho biết tất cả ptử trong mảng a có nằm trong mảng b ko ? // VD : // A : 1 3 5 // B : 4 5 1 3 2 int KT_MangA_In_MangB(int A[], int B[], int Na, int Nb) { int flag = 0; // Chưa có thỏa int dem = 0; for (int i = 0; i < Na; i++) { for (int j = 0; j < Nb; j++) { if (A[i] == B[j]) dem++; } } if (dem == Na) flag = 1; //Thỏa mản return flag; } //254 hãy đếm giá trị trong mảng thỏa : lớn hơn tất cả các giá trị đứng đằng trước nó // VD : 1 4 6 1 3 5 10 int Dem_GiaTri_Max_Truoc_Do(int A[], int N) { int dem = 0; for (int i = 1; i < N; i++) { int flag = 1; for (int j = 0; j < i; j++) { if (A[i] <= A[j]) // điều điện sai { flag = 0; break; } } if (flag == 1) dem++; } return dem; } int main() { int Na = 0; NhapN(Na); int A[MAX]; NhapMang(A, Na); cout << "MANG A BAN DAU\n"; XuatMang(A, Na); cout << "\n"; int kq_252 = KiemTra_DangSong(A, Na); if (kq_252 == 1) cout << "Bai Tap 252 : la dang SONG"; else cout << "Bai Tap 252 : KO la dang SONG"; cout << "\n"; int kq_254 = Dem_GiaTri_Max_Truoc_Do(A, Na); cout << "Bai Tap 254 : Dem lon hon truoc do la " << kq_254; cout << "\n"; int Nb = 0; NhapN(Nb); int B[MAX]; NhapMang(B, Nb); cout << "MANG B BAN DAU\n"; XuatMang(B, Nb); cout << "\n"; int kq_253 = KT_MangA_In_MangB(A, B, Na, Nb); if (kq_253 == 1) cout << "Bai Tap 253 : Mang A trong Mang B"; else cout << "Bai Tap 252 : KO phai"; 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 252-253-254 : Hãy viết hàm ktra mảng có sóng hay ko?
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét