ปัญหา
เขียนโปรแกรม C เพื่อค้นหาประเภทอาร์เรย์ที่เราจำเป็นต้องตรวจสอบ ไม่ว่าองค์ประกอบที่กำหนดในอาร์เรย์จะเป็นตัวเลขคู่หรือเลขคี่ หรือทั้งสองอย่างรวมกัน
วิธีแก้ปัญหา
ดังนั้น ผู้ใช้ต้องป้อนอาร์เรย์ของจำนวนเต็ม จากนั้นจึงแสดงประเภทของอาร์เรย์
ตัวอย่างที่ 1 − อินพุต:5 3 1, เอาต์พุต:อาร์เรย์คี่
ตัวอย่างที่ 2 − อินพุต:2 4 6 8, เอาต์พุต:อาร์เรย์คู่
ตัวอย่างที่ 3 − อินพุต:1 2 3 4 5, เอาต์พุต:อาร์เรย์แบบผสม
อัลกอริทึม
อ้างถึงอัลกอริทึมที่ระบุด้านล่างเพื่อค้นหาประเภทอาร์เรย์ที่ผู้ใช้ป้อน
ขั้นตอนที่ 1 - อ่านขนาดของอาร์เรย์ที่รันไทม์
ขั้นตอนที่ 2 - ป้อนองค์ประกอบอาร์เรย์
ขั้นตอนที่ 3 - หากองค์ประกอบทั้งหมดของอาร์เรย์เป็นเลขคี่ ให้พิมพ์ "คี่"
ขั้นตอนที่ 4 - หากองค์ประกอบทั้งหมดของอาร์เรย์มีค่าเท่ากัน ให้พิมพ์ "คู่"
ขั้นตอนที่ 5 - มิฉะนั้น พิมพ์ "ผสม"
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C เพื่อค้นหาประเภทอาร์เรย์ที่ผู้ใช้ป้อน -
#include<stdio.h> int main(){ int n; printf("enter no of elements:"); scanf("%d",&n); int arr[n]; int i; int odd = 0, even = 0; printf("enter the elements into an array:\n"); for(i = 0; i < n; i++){ scanf("%d",&arr[i]); } for(i = 0; i < n; i++){ if(arr[i] % 2 == 1) odd++; if(arr[i] % 2 == 0) even++; } if(odd == n) printf("Odd Array"); else if(even == n) printf("Even Array"); else printf("Mixed Array"); return 0; }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะสร้างผลลัพธ์ต่อไปนี้ -
Run 1: enter no of elements:5 enter the elements into an array: 2 4 8 10 12 Even Array Run 2: enter no of elements:5 enter the elements into an array: 1 23 45 16 68 Mixed Array