LATEST

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ả:

bai24 02 PNG

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ả:

bai24 01 PNG

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ả:

bai24 04 PNG

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ả:

bai24 03 PNG

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 !!!

Cùng chuyên mục:

Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết

Danh sách liên kết (Linked List) là gì? Các loại danh sách liên kết

Sử dụng đệ quy để giải bài toán tháp Hà Nội

Sử dụng đệ quy để giải bài toán tháp Hà Nội

Đệ quy tương hỗ (Mutual Recursion) trong C / C++

Đệ quy tương hỗ (Mutual Recursion) trong C / C++

Đệ quy lồng (Nested Recursion) trong C / C++

Đệ quy lồng (Nested Recursion) trong C / C++

Đệ quy đa tuyến (Exponential Recursion) trong C / C++

Đệ quy đa tuyến (Exponential Recursion) trong C / C++

Đệ quy nhị phân (Binary Recursion) trong C / C++

Đệ quy nhị phân (Binary Recursion) trong C / C++

Đệ quy đuôi (Tail Recursion) trong C / C++

Đệ quy đuôi (Tail Recursion) trong C / C++

Đệ quy tuyến tính (Linear Recursion) trong C / C++

Đệ quy tuyến tính (Linear Recursion) trong C / C++

Hàm đệ quy là gì? Các loại hàm đệ quy trong C / C++

Hàm đệ quy là gì? Các loại hàm đệ quy trong C / C++

Thuật toán sắp xếp Quick Sort trong C / C++

Thuật toán sắp xếp Quick Sort trong C / C++

Thuật toán sắp xếp trộn (Merge Sort) trong C / C++

Thuật toán sắp xếp trộn (Merge Sort) trong C / C++

Thuật toán sắp xếp chọn (Selection Sort) trong C / C++

Thuật toán sắp xếp chọn (Selection Sort) trong C / C++

Thuật toán sắp xếp chèn (Insertion Sort) trong C / C++

Thuật toán sắp xếp chèn (Insertion Sort) trong C / C++

Thuật toán sắp xếp nổi bọt (Bubble Sort) trong C / C++

Thuật toán sắp xếp nổi bọt (Bubble Sort) trong C / C++

Thuật toán tìm kiếm nội suy (Interpolation Search) trong C / C++

Thuật toán tìm kiếm nội suy (Interpolation Search) trong C / C++

Thuật toán tìm kiếm nhị phần (Binary Search) trong C / C++

Thuật toán tìm kiếm nhị phần (Binary Search) trong C / C++

Thuật toán tìm kiếm tuyến tính (Linear Search) trong C / C++

Thuật toán tìm kiếm tuyến tính (Linear Search) trong C / C++

Thuật toán kiểm tra năm nhuận trong C / C++

Thuật toán kiểm tra năm nhuận trong C / C++

Thuật toán kiểm tra số chẵn lẻ trong C / C++

Thuật toán kiểm tra số chẵn lẻ trong C / C++

Thuật toán tính lũy thừa trong C / C++

Thuật toán tính lũy thừa trong C / C++

Top