Bài tập C++ có giải: Sử dụng Con trỏ trong C++
Trong chủ đề này, chúng ta cùng làm một số bài tập về Con trỏ trong C++.
Bài tập 1
Sử dụng con trỏ trong C++, bạn hãy viết một chương trình C++ để nhận dữ liệu từ người dùng và tìm giá trị lớn nhất của một tập dữ liệu nội bộ.
Lời giải
Dưới đây là chương trình C++ để giải bài tập trên. Mình sử dụng một hàm mà nhận mảng các giá trị dữ liệu và kích cỡ của nó. Hàm này trả về con trỏ mà trỏ tới giá trị lớn nhất.
#include#include using namespace std; int *findMax(int arr[],int n); int main(){ int n,i,*p; cout<<"Nhap so du lieu: "; cin>>n; int arr[n]; for(i=0;i >arr[i]; } p=findMax(arr,n); cout<<"Gia tri lon nhat la: "<<*p; getch(); return 0; } int *findMax(int data[],int n){ int *max=data; int i; for(i=1;i Chạy chương trình C++ trên sẽ cho kết quả như hình sau:
Bài tập 2
Viết một chương trình C++ để nhận 5 giá trị nguyên từ bàn phím. 5 giá trị này sẽ được lưu trữ trong một mảng bởi sử dụng một con trỏ. Sau đó, in các phần tử của mảng trên màn hình.
Lời giải
Dưới đây là chương trình C++ để giải bài tập trên.
#include#include using namespace std; int main() { int arr[5],i; int *p=arr; cout<<"Nhap 5 so:"; cin>>*p>>*(p+1)>>*(p+2)>>*(p+3)>>*(p+4); cout<<"Cac so ban vua nhap la:\n"; for(i=0;i<5;i++) cout< Chạy chương trình C++ trên sẽ cho kết quả như hình sau:
Sửa đổi lời giải trên để in các phần tử của mảng theo thứ tự đảo ngược bởi sử dụng một con trỏ.
#include#include using namespace std; int main() { int arr[5],i; int *p=arr; cout<<"Nhap 5 so:"; cin>>*p>>*(p+1)>>*(p+2)>>*(p+3)>>*(p+4); cout<<"Cac so ban vua nhap theo thu tu dao nguoc la:\n"; for(i=4;i>=0;i--) cout<<*(p+i)< Chạy chương trình C++ trên sẽ cho kết quả như hình sau:
Bài học Bài tập C++ phổ biến tại hoconline.club:
Quảng cáoBài viết liên quan