สมมติว่าเรามีตัวเลข n เราจะต้องสร้างอาร์เรย์ขนาด n แบบไดนามิกและนำตัวเลข n มาทีละตัว จากนั้นจึงหาผลรวม ในการสร้างอาร์เรย์ เราสามารถใช้ฟังก์ชัน malloc() หรือ calloc() ซึ่งมีอยู่ในไฟล์ส่วนหัว stdlib.h ค่าของ n ยังถูกจัดเตรียมเป็นอินพุตผ่าน stdin ด้วย
ดังนั้น หากอินพุตเป็น n =6 และองค์ประกอบอาร์เรย์ 9, 8, 7, 2, 4, 3 ผลลัพธ์จะเป็น 33 เพราะผลรวมของ 9 + 8 + 7 + 2 + 4 + 3 =33
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
ผลรวม :=0
-
รับหนึ่งอินพุตและเก็บไว้ใน n
-
arr :=สร้างอาร์เรย์ขนาด n
. แบบไดนามิก -
สำหรับการเริ่มต้น i :=0 เมื่อฉัน
-
รับอินพุตและเก็บไว้ใน arr[i]
-
-
สำหรับการเริ่มต้น i :=0 เมื่อฉัน
-
sum :=sum + arr[i]
-
-
ผลตอบแทนรวม
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <stdio.h> #include <stdlib.h> int main(){ int *arr; int n; int sum = 0; scanf("%d", &n); arr = (int*) malloc(n*sizeof(int)); for(int i = 0; i < n; i++){ scanf("%d", (arr+i)); } for(int i = 0; i < n; i++){ sum += arr[i]; } printf("%d", sum); }
อินพุต
6 9 8 7 2 4 3
ผลลัพธ์
33