Cách nhập mảng 1 chiều trong c++
Ở bài học trước, mình đã chia sẻ cho các bạn về khái niệm và cách sử dụng MẢNG MỘT CHIỀU TRONG C++ (Arrays). Show Hôm nay, mình sẽ giới thiệu cho các bạn về Các thao tác trên mảng một chiều trong C++. Nội dungĐể đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về: Trong bài ta sẽ cùng tìm hiểu các vấn đề:
Truyền mảng vào hàm (passing arrays to functions)Trong bài TRUYỀN GIÁ TRỊ CHO HÀM (Passing Arguments by Value), bạn đã biết khi một biến truyền vào hàm theo phương pháp truyền giá trị, C++ sẽ sao chép giá trị của đối số vào tham số của hàm. Vì tham số hàm là 1 bản sao, nên việc thay đổi giá trị tham số không làm thay đổi giá trị đối số ban đầu. Đối với kiểu dữ liệu mảng, việc sao chép 1 số lượng lớn các phần tử sẽ gây tốn rất nhiều vùng nhớ và giảm hiệu suất. Nên khi truyền mảng vào hàm, tham số của hàm chính là địa chỉ vùng nhớ của phần tử đầu tiên trong mảng. Vì vậy, mảng có thể thay đổi nội dung sau khi thực hiện hàm Lưu ý khi truyền mảng vào hàm:
Tất cả các ví dụ bên dưới sẽ sử dụng phương pháp truyền mảng vào hàm. Nhập và xuất mảng 1 chiềuBên dưới là ví dụ về nhập, xuất dữ liệu cho mảng 1 chiều:
Output: Sao chép mảng 1 chiềuÝ tưởng: Để tạo ra một bản sao từ một mảng, bạn cần khai báo thêm 1 mảng khác có cùng kích thước với mảng ban đầu. Chương trình:
Output: Tìm kiếm phần tử trong mảngYêu cầu: Tìm xem phần tử x có nằm trong mảng myArray kích thước n hay không? Nếu có thì nó nằm ở vị trí đầu tiên nào? Ý tưởng: Xét từng phần của mảng myArray. Nếu phần tử đang xét bằng x thì trả về vị trí đó. Nếu không tìm được thì trả về -1. Chương trình:
Output 1: Output 2: Sắp xếp mảng 1 chiềuYêu cầu: Cho trước mảng myArray kích thước n. Hãy sắp xếp mảng a đó sao cho các phần tử có giá trị tăng dần. Ý tưởng: Sử dụng 2 biến i và j để so sánh tất cả cặp phần tử với nhau và hoán vị các cặp nghịch thế (sai thứ tự). Chương trình:
Output: Thêm và xóa một phần tử trong mảngThêm một phần tử vào mảngYêu cầu: Thêm phần tử x vào mảng myArray kích thước n tại vị trí idx. Ý tưởng:
Chương trình:
Output: Xóa một phần tử trong mảngYêu cầu: Xóa một phần tử trong mảng a kích thước n tại vị trí vt Ý tưởng:
Chương trình:
Output: Kết luậnQua bài học này, bạn đã biết được Các thao tác trên Mảng một chiều trong C++. Còn rất nhiều thao tác khác trên mảng 1 chiều, trong phạm vi bài học không thể đề cập hết được, các bạn hãy tự mình tìm hiểu và bình luận bên dưới để chia sẻ cho mọi người nhé. Trong bài tiếp theo, mình sẽ giới thiệu cho các bạn về MẢNG HAI CHIỀU (Multidimensional arrays) trong C++. Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”. Thảo luậnNếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng. |