**Bài toán 1** Ví dụ và giải thích về nhập dữ liệu và xuất dữ liệu trong C++ ```C++ #include <stdio.h> #include <iostream> using namespace std; int main() { /* * Khai bao mot bien tuoi, cho nguoi dung nhap vao tu ban phim * gia tri cua bien do, sau do in ket qua ra man hinh */ int age = 0; // Khoi tao bien tuoi voi gia tri la 0 cout << "Moi ban nhap vao tuoi cua minh " << endl; // Ham cout dung de in ra man hinh, endl la ky tu ket thuc dong va xuong dong cin >> age; // Ham cin dung de lay du lieu tu ban phim sau khi nguoi dung nhap va luu lai vao bien tuoi age cout << "Tuoi cua ban la " << age; return 0; // cuoi ham main can return ve so nguyen } ``` **Bài toán 2** Ví dụ và giải thích về nhập xuất dữ liệu tron C ```C++ #include <stdio.h> int main() { /* * Khai bao mot bien tuoi, cho nguoi dung nhap vao tu ban phim * gia tri cua bien do, sau do in ket qua ra man hinh */ int age = 0; // Khoi tao bien tuoi voi gia tri la 0 printf("Moi ban nhap vao tuoi cua minh \n"); // Ham printf dung de in ra man hinh, \n la ky tu ket thuc dong va xuong dong scanf("%d", &age); // Ham scanf dung de lay du lieu tu ban phim sau khi nguoi dung nhap va luu lai vao bien tuoi age. Nho co & printf("Tuoi cua ban la %d", age); return 0; // cuoi ham main can return ve so nguyen } ``` **Bài toán 3** Khởi tạo và truy xuất mảng trong C ```C++ #include <stdio.h> int main() { int n = 10; int array[20]; int i = 0; for(i=0; i < n; i++) { scanf("%d", &array[i]); } for(i=0; i < n; i++) { printf("%d \n", array[i]); } return 0; } ``` **Bài toán 4** Khởi tạo và truy xuất mảng trong C++ ```C++ #include <stdio.h> #include <iostream> using namespace std; int main() { int n = 10; int array[n]; int i = 0; for(i=0; i < n; i++) { cin >> array[i]; } for(i=0; i < n; i++) { cout << array[i] << " "; } return 0; } ``` **Bài toán 5** Khởi tạo và truy xuất mảng 2 chiều ```C++ #include <stdio.h> #include <iostream> using namespace std; int main() { // Khai báo mảng 2 chiều int arr[3][5]; // Nhập giá trị vào mỗi phần tử trong mảng bằng cách duyệt qua tất cả phần tử for(int i=0; i<3; i++) { for(int j=0; j<5; j++) { cin >> array[i][j]; } } // In dữ liệu ra màn hình bằng cách duyệt qua tất cả phần tử for(int i=0; i<3; i++) { for(int j=0; j<5; j++) { cout << array[i][j] << " "; } cout << endl; } return 0; } ``` **Bài toán 6** Truyền mảng 1 chiều vào hàm. Ví dụ với hàm cho phép nhập dữ liệu vào mảng ```C++ #include <stdio.h> #include <iostream> using namespace std; void writeData(int array[], int size); int main() { // Khai báo mảng có 10 phần tử, n là kich thước của mảng int n = 10; int array[n]; //Khởi tạo biến đếm i int i = 0; writeData(array, n); for(i=0; i < n; i++) { cout << array[i] << " "; } return 0; } void writeData(int array[], int size) { int i = 0; for(i=0; i < size; i++) { cin >> array[i]; } } ``` **Bài toán 7** Truyền dữ liệu mảng 2 chiều vào hàm. Ví dụ với hàm nhập và xuất ma trận ```C++ #include <stdio.h> #include <iostream> using namespace std; void writeData(int a[][100], int m, int n); void printData(int a[][100], int m, int n); int main(){ int a[100][100]; int m,n; printf("Nhap so hang n = "); scanf("%d",&n); printf("Nhap so cot m = "); scanf("%d",&m); printf("Nhap vao ma tran:\n"); writeData(a, m , n); printData(a, m, n); return 0; } void writeData(int a[][100], int m, int n) { for(int i = 0; i < m; i++) for(int j = 0; j < n; j++) { printf("A[%d][%d] = ", i, j); scanf("%d", &a[i][j]); } } void printData(int a[][100], int m, int n) { for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) printf("%d\t", a[i][j]); printf("\n"); } } ```