Tính tổng các phần tử trong mảng C / C++
Trong bài viết này, codehow sẽ hướng dẫn các bạn cách tính tổng các phần tử trong mảng C / C++. Đây là một dạng bài tập căn bản, giúp các bạn luyện tập thao tác với mảng trong C / C++.
Như các bạn đã biết thì một mảng có thể lưu trữ rất nhiều các phần tử, để tính tổng của các phần tử, ta cần duyệt qua từng phần tử. Để làm được điều này, ta có thể sử dụng vòng lặp for hoặc nâng cấp hơn có thể sử dụng hàm đệ quy để thực hiện.
Vậy ngay bây giờ hãy cùng mình thực hiện chương trình tính tổng các phần tử trong mảng C / C++ thôi nào!!!
Tính tổng các phần tử trong mảng C / C++ sử dụng đệ quy
Trong phần này mình sẽ thực hiện chương trình tính tổng các phần tử trong mảng C / C++ sử dụng hàm đệ quy. Cụ thể như sau:
Bước 1: Tạo hàm sum_array_elements()
để tính tổng các phần tử, vì sao gọi nó là hàm đệ quy vì nó gọi lại chính nó trong thân hàm.
int sum_array_elements( int arr[], int n ) { if (n < 0) { return 0; } else{ return arr[n] + sum_array_elements(arr, n-1); } }
Bước 2: Khai báo mảng, yêu cầu người dùng vào số lượng phần tử và giá trị cho các phần tử trong mảng.
int i, count, sum = 0; printf("Nhập số lương phần tử trong mảng:"); scanf("%d", &count); int number[count]; printf("\nNhập giá trị cho từng phần tử trong mảng:\n"); for (i = 0; i < count; ++i) scanf("%d", &number[i]);
Bước 3: Gọi hàm sum_array_elements()
và truyền vào tham số cho hàm, sau đó hiển thị kết quả ra màn hình.
sum = sum_array_elements(number,count - 1); printf("Tổng các phần tử trong mảng là: %d",sum);
Dưới đây là hai chương trình mình đã viết sẵn bằng hai ngôn ngữ khác nhau là C và C++, các bạn có thể tham khảo nhé.
Chương trình C:
#include <stdio.h> int sum_array_elements( int arr[], int n ) { if (n < 0) { return 0; } else{ return arr[n] + sum_array_elements(arr, n-1); } } int main(void) { int i, count, sum = 0; printf("Nhập số lương phần tử trong mảng:"); scanf("%d", &count); int number[count]; printf("\nNhập giá trị cho từng phần tử trong mảng:\n"); for (i = 0; i < count; ++i) scanf("%d", &number[i]); sum = sum_array_elements(number,count - 1); printf("Tổng các phần tử trong mảng là: %d",sum); printf("\n------------------------------\n"); printf("Chương trình này được đăng tại Freetuts.net"); return 0; }
Kết quả:
Chương trình C++:
#include <iostream> using namespace std; int sum_array_elements( int arr[], int n ) { if (n < 0) { return 0; } else{ return arr[n] + sum_array_elements(arr, n-1); } } int main() { int i, count, sum = 0; cout<<"Nhập số lương phần tử trong mảng:"; cin>>count; int number[count]; cout<<"\nNhập giá trị cho từng phần tử trong mảng:\n"; for (i = 0; i < count; ++i) cin>>number[i]; sum = sum_array_elements(number,count - 1); cout<<"Tổng các phần tử trong mảng là: "<<sum; cout<<"\n------------------------------\n"; cout<<"Chương trình này được đăng tại codehow.net"; }
Kết quả:
Tính tổng các phần tử trong mảng C / C++ sử dụng con trỏ
Để thực hiện chương trình tính tổng các phần tử trong mảng C / C++ sử dụng con trỏ, ta cần khai báo mảng và con trỏ *ptr.
int i, count, sum = 0; int *ptr;
Yêu cầu người dùng nhập vào số lượng phần tử và giá trị cho các phần tử trong mảng.
printf("Nhập số lương phần tử trong mảng:"); scanf("%d", &count); int number[count]; printf("\nNhập giá trị cho từng phần tử trong mảng:\n"); for (i = 0; i < count; ++i) scanf("%d", &number[i]);
Sử dụng vòng lặp for, lặp qua từng phần tử trong mảng, cứ mỗi vòng lặp ta lại cộng thêm vào sum. Kết thúc vòng lặp ta được sum là tổng của các phần tử, sau đó hiển thị sum ra màn hình.
ptr = number; for(i=0;i<count;i++) { sum = sum + *ptr; ptr++; } printf("Tổng các phần tử trong mảng là: %d",sum);
Dưới đây là hai chương trình C và C++ mình đã viết sẵn, các bạn có thể tham khảo nhé.
Chương trình C:
#include <stdio.h> int main(void) { int i, count, sum = 0; int *ptr; printf("Nhập số lương phần tử trong mảng:"); scanf("%d", &count); int number[count]; printf("\nNhập giá trị cho từng phần tử trong mảng:\n"); for (i = 0; i < count; ++i) scanf("%d", &number[i]); ptr = number; for(i=0;i<count;i++) { sum = sum + *ptr; ptr++; } printf("Tổng các phần tử trong mảng là: %d",sum); printf("\n------------------------------\n"); printf("Chương trình này được đăng tại Freetuts.net"); return 0; }
Kết quả:
Chương trình C++:
#include <iostream> using namespace std; int main() { int i, count, sum = 0; int *ptr; cout<<"Nhập số lương phần tử trong mảng:"; cin>>count; int number[count]; cout<<"\nNhập giá trị cho từng phần tử trong mảng:\n"; for (i = 0; i < count; ++i) cin>>number[i]; ptr = number; for(i=0;i<count;i++) { sum = sum + *ptr; ptr++; } cout<<"Tổng các phần tử trong mảng là: "<<sum; cout<<"\n------------------------------\n"; cout<<"Chương trình này được đăng tại codehow.net"; }
Kết quả:
Như vậy là chúng ta đã cùng nhau thực hiện chương trình tính tổng các phần tử trong mảng C / C++. Các bạn có thể luyện tập nhiều dạng bài tập hơn tại serries bài tập C / C++ của codehow nhé. Cảm ơn các bạn rất nhiều !!!