Tài liệu thực tập lập trình C++ cơ bản phần 2: Bài tập Mảng Một Chiều ĐH KTKTCN

Tài liệu thực tập lập trình cơ bản Phần 2 từ ĐH Kinh tế Kỹ thuật Công nghiệp. Hướng dẫn chi tiết, giúp bạn vững kiến thức.

Chuyên ngành

Lập trình C++

Người đăng

Ẩn danh

Thể loại

Bài tập thực hành
106
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Nắm Vững Khái Niệm và Khai Báo Mảng Một Chiều C Cơ Bản Nhất

Để thành thạo lập trình C++, việc nắm vững kiến thức về mảng một chiều trong C++ là vô cùng cần thiết. Đây là nền tảng cho nhiều cấu trúc dữ liệu phức tạp hơn và là công cụ mạnh mẽ để xử lý các tập hợp dữ liệu cùng kiểu. Phần hai này tập trung vào việc áp dụng lý thuyết vào thực hành thông qua các bài tập C++ mảng một chiều tại ĐH KTKTCN, giúp người học củng cố kỹ năng và phát triển tư duy giải quyết vấn đề. Hiểu rõ cách khai báo, truy xuất và thao tác với mảng sẽ mở ra cánh cửa đến những ứng dụng lập trình phức tạp hơn, từ đó nâng cao kỹ năng lập trình C++ cơ bản của mỗi sinh viên.

1.1. Hiểu Rõ Mảng Một Chiều Trong C Là Gì và Cấu Trúc

Mảng một chiều trong C++ là một tập hợp các biến cùng kiểu dữ liệu, được lưu trữ liên tiếp trong bộ nhớ và truy cập thông qua một chỉ số duy nhất. Mỗi phần tử trong mảng có một vị trí (chỉ số) riêng biệt, bắt đầu từ 0. Ví dụ, một mảng có 10 phần tử sẽ có các chỉ số từ 0 đến 9. Việc lưu trữ liên tiếp giúp tối ưu hóa hiệu suất khi truy xuất phần tử mảng. Hiểu rõ cấu trúc này là bước đầu tiên để làm chủ cấu trúc dữ liệu mảng trong C++. Nắm vững khái niệm cơ bản này giúp tránh các lỗi phổ biến như truy cập ngoài phạm vi mảng, một vấn đề thường gặp đối với người mới bắt đầu lập trình.

1.2. Hướng Dẫn Chi Tiết Khai Báo Mảng C và Khởi Tạo Dữ Liệu

Khai báo mảng C++ là quá trình định nghĩa một mảng, bao gồm kiểu dữ liệu của các phần tử và số lượng phần tử mà mảng có thể chứa. Có ba dạng phổ biến để khai báo mảng một chiều: khai báo với số phần tử xác định (<tên kiểu><tên mảng>[số thành phần];), vừa khai báo vừa gán giá trị (<tên kiểu><tên mảng>[số thành phần] = { dãy giá trị };), và khai báo với số phần tử không xác định nhưng gán giá trị (<tên kiểu><tên mảng>[] = { dãy giá trị };). Việc khởi tạo dữ liệu ngay khi khai báo giúp đảm bảo mảng có giá trị ban đầu, tránh các giá trị rác. Việc lựa chọn phương pháp khai báo phù hợp phụ thuộc vào yêu cầu cụ thể của bài toán.

II. Bí Quyết Nhập Xuất và Sắp Xếp Mảng Một Chiều C Từ Đơn Giản Đến Nâng Cao

Sau khi nắm vững cách khai báo, việc thực hiện các thao tác trên mảng C++ như nhập, xuất và sắp xếp là những kỹ năng cơ bản không thể thiếu. Các bài tập C++ mảng một chiều thường xuyên yêu cầu người lập trình thao tác với dữ liệu theo nhiều cách khác nhau. Phần này đi sâu vào các kỹ thuật cách nhập xuất mảng C++ dữ liệu hiệu quả và trình bày các phương pháp sắp xếp mảng tăng dần trong C++ một cách logic, tạo nền tảng vững chắc cho các thuật toán phức tạp hơn trong tương lai. Sự thành thạo trong các thao tác này là chìa khóa để xử lý dữ liệu một cách linh hoạt và hiệu quả.

2.1. Cách Nhập Xuất Mảng C Hiệu Quả Với Vòng Lặp

Việc nhập và xuất dữ liệu cho mảng một chiều trong C++ thường được thực hiện thông qua vòng lặp for. Để nhập dữ liệu, một vòng lặp sẽ duyệt qua từng chỉ số của mảng, yêu cầu người dùng nhập giá trị cho mỗi phần tử bằng lệnh cin. Tương tự, để xuất dữ liệu, một vòng lặp khác sẽ in giá trị của từng phần tử ra màn hình bằng lệnh cout. Kỹ thuật này giúp xử lý mảng có số lượng phần tử lớn một cách tự động và nhất quán. Hiểu rõ cách sử dụng vòng lặp là rất quan trọng để viết chương trình C++ với mảng một chiều một cách chính xác.

2.2. Phương Pháp Sắp Xếp Mảng Tăng Dần Trong C Đơn Giản

Sắp xếp là một thao tác trên mảng C++ cơ bản, giúp tổ chức dữ liệu theo một trật tự nhất định. Để sắp xếp mảng C++ theo thứ tự tăng dần, một trong những thuật toán sắp xếp đơn giản nhất là Bubble Sort. Thuật toán này hoạt động bằng cách so sánh từng cặp phần tử liền kề và hoán đổi vị trí nếu chúng không đúng thứ tự. Quá trình này được lặp lại cho đến khi không còn cặp phần tử nào cần hoán đổi, đảm bảo mảng được sắp xếp hoàn chỉnh. Việc thành thạo phương pháp sắp xếp mảng tăng dần trong C++ là kỹ năng thiết yếu trong lập trình C++ cơ bản.

III. Giải Quyết Các Bài Toán Thực Tế Tìm Số Hoàn Hảo C và Đếm Phần Tử Âm Dương

Ứng dụng mảng một chiều trong C++ để giải quyết các bài toán logic cụ thể là bước tiếp theo để củng cố kiến thức. Phần này tập trung vào hai ví dụ thực tế: tìm các số hoàn hảo trong một mảng và đếm số lượng phần tử âm, dương. Đây là những bài tập C++ mảng một chiều điển hình, đòi hỏi sự kết hợp giữa thao tác trên mảng C++ và các cấu trúc điều khiển. Nắm vững cách tiếp cận và giải quyết những bài toán này không chỉ nâng cao kỹ năng lập trình mà còn phát triển khả năng tư duy thuật toán, giúp sinh viên tự tin hơn khi đối mặt với các thách thức phức tạp hơn trong lập trình.

3.1. Viết Chương Trình C Với Mảng Một Chiều Để Tìm Số Hoàn Hảo

Một số hoàn hảo là một số nguyên dương mà tổng các ước số dương thực sự của nó (không bao gồm chính nó) bằng chính nó. Để tìm số hoàn hảo C++ trong một mảng, chương trình cần duyệt qua từng phần tử. Với mỗi phần tử, một vòng lặp phụ sẽ tính tổng các ước số. Nếu tổng này bằng chính phần tử đó, thì phần tử đó là số hoàn hảo và sẽ được in ra. Quá trình này minh họa việc sử dụng vòng lặp lồng nhau để xử lý logic phức tạp trên từng phần tử của mảng một cách hiệu quả và chính xác.

3.2. Đếm Phần Tử Âm Dương Trong Mảng C Một Cách Khoa Học

Bài toán đếm phần tử âm dương trong mảng C++ yêu cầu phân loại và thống kê các phần tử dựa trên dấu của chúng. Để giải quyết, chương trình cần khởi tạo hai biến đếm: một cho số âm và một cho số dương. Sau đó, duyệt qua từng phần tử của mảng. Nếu một phần tử lớn hơn 0, tăng biến đếm số dương; nếu nhỏ hơn 0, tăng biến đếm số âm. Các phần tử bằng 0 có thể được bỏ qua hoặc đếm riêng tùy theo yêu cầu. Phương pháp này đơn giản nhưng hiệu quả, thể hiện cách phân tích dữ liệu cơ bản bằng mảng một chiều.

IV. Nâng Cao Kỹ Năng Lập Trình C Cơ Bản Mẹo và Lời Khuyên Chuyên Gia Cho Mảng

Việc hoàn thành các bài tập C++ mảng một chiều không chỉ dừng lại ở việc cho ra kết quả đúng mà còn ở khả năng phát hiện và sửa lỗi hiệu quả cũng như tối ưu hóa mã nguồn. Phần này tổng kết những lời khuyên hữu ích để nâng cao kỹ năng lập trình C++ cơ bản, giúp người học phát triển tư duy lập trình chuyên nghiệp. Hiểu được các ứng dụng mảng một chiều trong thực tế và cách viết mã sạch, dễ bảo trì là rất quan trọng. Những kiến thức này sẽ trang bị cho người học bộ công cụ vững chắc để tiếp cận các dự án lớn hơn và phức tạp hơn trong tương lai.

4.1. Thao Tác Trên Mảng C và Cách Xử Lý Lỗi Thường Gặp

Khi viết chương trình C++ với mảng một chiều, các lỗi phổ biến bao gồm truy cập chỉ số ngoài giới hạn (out-of-bounds access) hoặc lỗi 'off-by-one' (nhầm lẫn giữa nn-1 phần tử). Để xử lý, cần kiểm tra kỹ phạm vi của chỉ số mảng trong các vòng lặp. Sử dụng các công cụ debug để theo dõi giá trị biến và luồng thực thi cũng là một kỹ thuật hiệu quả. Việc rèn luyện kỹ năng lập trình C++ cơ bản thông qua việc tìm và sửa lỗi giúp tăng cường sự chính xác và độ tin cậy của mã nguồn.

4.2. Ứng Dụng Mảng Một Chiều Trong Phát Triển Phần Mềm Hiện Đại

Mảng một chiều là một cấu trúc dữ liệu mảng cơ bản nhưng có ứng dụng mảng một chiều rộng rãi trong phát triển phần mềm. Chúng được dùng để lưu trữ danh sách các đối tượng, quản lý hàng đợi hoặc ngăn xếp đơn giản, biểu diễn ma trận một hàng hoặc một cột, và làm cơ sở cho nhiều thuật toán xử lý dữ liệu. Từ việc quản lý điểm số sinh viên đến xử lý tín hiệu số cơ bản, mảng một chiều đóng vai trò thiết yếu, là viên gạch đầu tiên xây dựng nên các hệ thống phức tạp hơn. Việc hiểu rõ các ứng dụng này giúp người học hình dung được tầm quan trọng của chúng.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

19/04/2026
Tài liệu học tập thực tập lập trình cơ bản phần 2 đh kinh tế kỹ thuật công nghiệp

Trích đoạn nội dung tài liệu

LAB 7: BÀI TẬP MẢNG MỘT CHIỀU A. MỤC TIÊU Trang bị cho sinh viên kỹ năng lập trin ̀ h cơ bản trong C++: + Khai báo mảng + Các thao tác trên mảng + Viết chương trình sử dụng mảng 1 chiều + Phát hiện và sửa lỗi B. NỘI DUNG Mảng một chiều a. Khai báo Có các dạng sau: Dạng 1: Khai báo mảng với số phần tử xác định <tên kiểu><tên mảng>[số thành phần] ; //không khởi tạo Dạng 2: Vừa khai báo vừa gán giá trị <tên kiểu><tên mảng>[số thành phần] = { dãy giá trị } ; //có khởi tạo Dạng 3: Khai báo mảng với số phần tử không xác định và gán giá trị <tên kiểu><tên mảng>[ ] = { dãy giá trị } ; //có khởi tạo b.

Truy xuất các phần tử của mảng Các phần tử mảng được đánh số thứ tự bắt đầu từ 0, số thứ tự này gọi là chỉ số mảng. Các phần tử mảng có thể được truy xuất như sau: <tên biến mảng>[chỉ số] C. YÊU CẦU PHẦN CỨNG, PHẦN MỀM Máy tiń h cài hệ điều hành Windows, RAM tối thiểu 256MB. Phần mềm C FREE 5.

KẾT QUẢ SAU KHI HOÀN THÀNH Sinh viên thành thạo cách khai báo và định nghĩa mảng một chiều, viết chương trình sử dụng mảng một chiều áp dụng giải các bài tập từ đơn giản đến phức tạp. HƯỚNG DẪN CHI TIẾT 1. Cho một mảng A gồm 100 phần tử thuộc kiểu thực, hãy xây dựng hàm viết chương trình nhập mảng và xuất mảng. Hướng dẫn: #include<conio.h> int main() { float a[100], n, tg; int i, j; cout << "Cho biet so phan tu n = " ; cin >> n ; for (i=0; i<n; i++) {cout<<"a[" <<i<< "] = "; cin >> a[i] ;} // nhap DL for (i=0; i<n; i++) { for (j=i+1; j<n; j++) if (a[i] > a[j]) { tg = a[i]; a[i] = a[j]; a[j] = tg; } // Doi cho } for (i=0; i<n; i++) cout << a[i] ; // In ket qua return 0; } Kết quả chạy chương trình: 2.

Cho một mảng A gồm 100 phần tử thuộc kiểu thực, hãy viết chương trình nhập mảng và sắp xếp mảng theo thứ tự tăng dần của dãy số. Hướng dẫn: #include<conio.h> int main() { float a[100], n, tg; int i, j; 77 cout << "cho biet so phan tu n = " ; cin >> n ; for (i=0; i<n; i++) {cout<<"a[" <<i<< "] = "; cin >> a[i] ;} // nhap DL for (i=0; i<n; i++) { for (j=i+1; j<n; j++) if (a[i] > a[j]) { tg = a[i]; a[i] = a[j]; a[j] = tg; } // Doi cho } for (i=0; i<n; i++) cout << a[i] ; // In ket qua return 0; } Kết quả chạy chương trình: 3. Viết chương trình nhập vào mảng A có n phần tử sắp xếp các phần tử của mảng theo thứ tự tăng dần và in ra màn hình số hoàn hảo có trong mảng. Hướng dẫn: #include<iostream.h> int main() { int a[100],i,n,j,tam; cout<<"nhap n="; cin>>n; for(i=0;i<n;i++) {// nhap mang 78 cout<<"Nhap a["<<i<<"] ="; cin>>a[i]; } int dem; cout<<"cac so hoan hao la "; for(i=0;i<n;i++) { dem=0; for(j=1;j<a[i];j++) if((a[i]%j)==0)dem=dem+j; if(dem==a[i])cout<<a[i]<<" "; } //sap xep tang dan trong mang for(i=0;i<n;i++) for(j=i+1;j<n;j++) if(a[i]>a[j]) { tam=a[i]; a[i]=a[j]; a[j]=tam; } cout<<endl; cout<<"day thu tu duoc sap xep tang dan la:"; for(i=0;i<n;i++)cout<<a[i]<<" "; return 0; } Kết quả chạy chương trình: 79 4.

Viết chương trình nhập vào mảng có n phần tử. Xây dựng hàm đếm các phần tử âm, đếm các phần tử dương có trong mảng. Hướng dẫn: #include <iostream> #include<time.h> #define MAX 100 using namespace std; void NhapMang(int a[], int n) { for(int i=0; i<n; i++) { cout<<"\nPhan tu thu " << i <<": "; cin>> a[i]; } } void MangNgauNhien(int a[], int n) { srand((unsigned)time(NULL)); for(int i=0; i<n; i++) a[i]=rand()%100 - rand()%100; } void XuatMang(int a[], int n) { for(int i=0; i<n; i++) cout<< a[i] <<"\t"; } void DemAmDemDuong90(int a[], int n) { int DemAm=0, DemDuong=0; for(int i=0; i<n; i++) { 80 if(a[i]<0) DemAm = DemAm + 1; else DemDuong = DemDuong + 1; } cout<<"\nSo phan tu am co trong mang: "<< DemAm; cout<<"\nSo phan tu duong co trong mang: "<< DemDuong; } int main() { int a[MAX], n, x; cout<<"NHap so luong phan tu cua mang: "; cin>>n; //NhapMang(a,n); MangNgauNhien(a,n); XuatMang(a,n); DemAmDemDuong90(a,n); cout<<endl; } Kết quả chạy chương trình: 5. Viết chương trình nhập vào mảng có n phần tử, in ra vị trí bất kỳ của các phần tử trong mảng.

Hướng dẫn: #include <iostream> using namespace std; int mins(int a[],int &n,int &x) { int min=0; 81 for(int i=1;i<=n;i++) { if(a[i]==x) { return i; break; } } } int main() { int n;int a[100];int x; cout<<"Nhap vao n ="; cin>>n; for(int i=1;i<=n;i++) { cout<<"Nhap a ["<<i<<"] la :"; cin>>a[i]; } cout<<"Phan tu x la:"; cin>>x; cout<<"Phan tu "<<x<<"trong day o vi tri thu "<<mins(a,n,x); return 0; } Kết quả chạy chương trình: 6. Xây dựng hàm viết chương trình nhập vào mảng A có n phần tử yêu cầu: 82 - Sắp xếp các phần tử của mảng theo thứ tự tăng dần. - Sắp xếp các phần tử của mảng theo thứ tự giảm dần. Hướng dẫn: #include <iostream> using namespace std; void nhapmang(int a[],int n) { for(int i=1;i<=n;i++) { cout<<"Nhap a["<<i<<"]"; cin>>a[i]; } } void giamdan(int a[],int n) { int tam; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) if(a[i]>a[j]) { tam=a[i]; a[i]=a[j]; a[j]=tam; } } } void tangdan(int a[],int n) { int tam ; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) 83 if(a[i]<a[j]) { tam=a[i]; a[i]=a[j]; a[j]=tam; } } } void xuatmang(int a[],int n) { for(int i=1;i<=n;i++) { cout<<a[i]<<endl; } } int main() { int n;int a[100]; cout<<"Nhap n"; cin>>n; nhapmang(a,n); tangdan(a,n); cout<<"Sap xep mang theo thu tu tang dan "<<endl; xuatmang(a,n); cout<<endl; giamdan(a,n); cout<<"Sap xep mang theo thu tu giam dan "<<endl; xuatmang(a,n); return 0; } Kết quả chạy chương trình: 84 7.

Xây dựng các hàm viết chương trình tìm giá trị đầu tiên trong mảng có chữ số đầu tiên là chữ số lẻ. Hướng dẫn: #include <iostream> #include<math.h> using namespace std; void NhapMang(int a[], int n) { for (int i = 0; i < n; i++) { cout << "Nhap a[" << i << "]: "; cin >> a[i]; } } bool check(int n) { n = abs(n); while (n > 9) { n /= 9; } if (n % 2 == 1) return true; return false; } int Fun(int a[], int n) { for (int i = 0; i < n; i++) { 85 if (check(a[i])) return a[i]; } return 0; } int main() { int a[100]; int n; cout << "Nhap vao n: "; cin >> n; NhapMang(a, n); if (Fun(a, n) == 0) cout << "Khong ton tai gia tri thoa man bai toan"; else cout << "Gia tri thoa man bai toan la: " << Fun(a, n); system("pause"); return 0; } Kết quả chạy chương trình: 8. Viết chương trình nhập mảng n số thực, tìm và in ra phần tử nhỏ nhất, lớn nhất, tính và in ra trung bình cộng của các phần tử trong mảng. In ra các phần tử nhỏ hơn, lớn hơn, trung bình cộng.

Hướng dẫn: #include<conio.h> #define max 100 int main() { 86 int i,j,n; float a[max],tbc,pmax,pmin; clrscr(); cout<<"Nhap so phan tu n<"<<max<<", n= "; cin>>n; cout<<"Nhap cac phan tu cua mang :\n"; for (i=0;i<n;i++) {cout<<"A["<<i+1<<"]="; cin>>a[i]; } pmax=pmin=tbc=a[0]; for(i=1;i<n;i++) {tbc+=a[i]; if(pmax<a[i])pmax=a[i]; if(pmin>a[i])pmin=a[i]; } tbc=tbc/n; cout<<"\nPhan tu max="<<pmax; cout<<"\nPhan tu min="<<pmin; cout<<"\nGia tri TBC="<<tbc; cout<<"\nCac phan tu < TBC:\n"; for (i=0;i<n;i++)if(a[i]<tbc) cout<<a[i]<<" "; cout<<"\nCac phan tu > TBC:\n"; for (i=0;i<n;i++)if(a[i]>tbc) cout<<a[i]<<" "; } Kết quả chạy chương trình: 9. Xây dựng hàm viết chương trình nhập mảng n phần tử, in ra mảng trước và sau khi sắp xếp. Hướng dẫn: #include<conio.h> #define max 100 void nhap(int[],int); void sapxep(int[],int); void xuat(int[],int); int main() { int a[max],n; cout<<"Nhap so phan tu n<"<<max<<", n= "; cin>>n; nhap(a,n); cout<<"Mang truoc khi sap xep :\n"; xuat(a,n); sapxep(a,n); cout<<"\nMang sau khi sap xep :\n"; xuat(a,n); } void nhap(int a[],int n) { int i; cout<<"Nhap cac phan tu cua mang :\n"; for (i=0;i<n;i++) {cout<<"A["<<i+1<<"]="; cin>>a[i]; } } void xuat(int a[],int n) { int i,j; for (i=0;i<n;i++) cout<<a[i]<<" "; } void sapxep(int a[],int n) { int i,j,tg; 88 for (i=0;i<n-1;i++) for (j=i+1;j<n;j++) if (a[i]>a[j]) { tg=a[i]; a[i]=a[j]; a[j]=tg; } } Kết quả chạy chương trình: 10. Viết chương trình nhập vào mảng A có n phần tử sắp xếp các phần tử của mảng theo thứ tự tăng dần (sử dụng hàm).

Hướng dẫn: #include <iostream> using namespace std; #define MAX 100 void Nhap_Mang(int A[],int n) { for(int i=0;i<n;i++) { cout<<"A["<<i<<"]="; cin>>A[i]; } } void Xuat_Mang(int A[],int n) { for(int i=0;i<n;i++) cout<<A[i]<<" "; 89 } void Xap_Xep(int A[],int n) { bool kt=false; while(kt==false) { for(int i=0;i<n-1;i++) { if(A[i]>A[i+1]) { int y=A[i]; A[i]=A[i+1]; A[i+1]=y; } } kt=true; for(int i=0;i<n-1;i++) if(A[i]>A[i+1]) { kt=false; break; } } } int main() { int A[MAX]; int n; cout<<"nhap so phan tu cua mang = "; cin>>n; Nhap_Mang(A,n); Xap_Xep(A,n); Xuat_Mang(A,n); 90 system("pause"); return 0; } Kết quả chạy chương trình: 11. Viết chương trình nhập vào một dãy số. In ra màn hình tổng các số chia hết cho 3. Hướng dẫn: #include <iostream> #include <conio.h> using namespace std; int main() { int a[50],n,i,tong=0; cout<<"Nhap so phan tu cua day"; cin>>n; for(i=0;i<n;i++) { cout<<"a["<<i<<"]="; cin>>a[i]; } for(i=0;i<n;i++) { if(a[i]%3==0) tong+=a[i]; } cout<<"Day so ban nhap la:"; for(i=0;i<n;i++) cout<<a[i]<<" , "; 91 cout<<" \n"; cout<<"---------------\n"; cout<<"tong cac so chia het cho 3 la:"<<tong<<endl; system("pause"); } Kết quả chạy chương trình: 12.

Viết chương trình lưu trữ 1 mảng có n số nguyên (0<n<100). Hãy thực hiện các yêu cầu sau: a) Nhập các phần tử cho mảng và hiện thị mảng sau khi nhập b) In ra màn hình trung bình cộng các số lẻ trong mảng. c) In ra màn hình mảng đã được sắp xếp theo thứ tự giảm dần. Hướng dẫn: #include <iostream> using namespace std; int main() { int n; int s=0; int dem=0; int tam; int a[100]; cout<<"Nhap n = ";cin>>n; for (int i=1;i<=n;i++) { cout<<"Nhap mang a["<<i<<"]="; cin>>a[i]; } for(int i=1;i<=n;i++) { if(a[i]%n!=0) { 92 s=s+a[i];dem++; } } cout<<"Trung binh cong cac so le trong mang la :"<<s/dem; for(int i=1;i<=n;i++) {for(int j=i+1;j<=n;j++) if(a[i]<a[j]) { tam=a[i]; a[i]=a[j]; a[j]=tam; } } cout<<endl; cout<<"Mang moi sap xep theo thu tu giam dan la :"; for (int i=1;i<=n;i++) {cout<<a[i]<<" "; } return 0; } Kết quả chạy chương trình: 13.

Viết chương trình nhập mảng A có tối đa 100 phần tử. Viết hàm tính tổng, hàm tính trung bình và hàm tính tổng chẵn tổng lẻ. Hướng dẫn: #include <iostream> using namespace std; #define MAX 100 93 void Nhap_Mang(int a[],int n) { for(int i=0;i<n;i++) { cout<<"a["<<i<<"]= "; cin>>a[i]; } } void Xuat_Mang(int a[],int n) { for(int i=0;i<n;i++) { cout<<a[i]<<" "; } } int Tinh_Tong(int a[],int n) { int S=0; for(int i=0;i<n;i++) { S+=a[i]; } return S; } int Tinh_Tong_Chan(int a[],int n) { int S=0; for(int i=0;i<n;i++) if(a[i]%2==0) S+=a[i]; return S; } int Tinh_Tong_Le(int a[],int n) 94 { int S=0; for(int i=0;i<n;i++) if(a[i]%2!=0) S+=a[i]; return S; } int main() { int a[MAX]; int n; cout<<"Nhap so phan tu can dung cua mang"; cin>>n; Nhap_Mang(a,n); Xuat_Mang(a,n); cout<<"\nTong day la S ="<<Tinh_Tong(a,n); cout<<"\nTrung binh TB= "<<Tinh_Tong(a,n)*1.0/n; cout<<"\nTong Chan la S1= "<<Tinh_Tong_Chan(a,n); cout<<"\nTong Le la S2= "<<Tinh_Tong_Le(a,n); system("pause"); return 0; } Kết quả chạy chương trình: 14. Dùng hàm viết chương trình nhập vào mảng A có n phần tử yêu cầu: - Tính tổng các phần tử trong mảng.

95 - Tính tổng các phần tử dương trong mảng. - Tính tổng các phần tử âm trong mảng. - Tính tổng các phần tử ở vị trí chẵn trong mảng. - Tính tổng các phần tử ở vị trí lẻ trong mảng.

Hướng dẫn: #include <iostream> #include <math.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ