Java สอนเขียนโปรแกรมหาค่าฐานนิยม (Mode)

โจทย์เขียนโปรแกรมหาค่าฐานนิยม Mode ดูเหมือนง่ายแต่ก็ใช้ความคิดพอสมควร เหมาะกับคนที่อยากฝึกฝนการใช้ Array, For....Loop, IF....ELSE

May 15, 2015

แก้ไขล่าสุด มีผู้อ่าน 7,179  |  STATISTIC JAVA PROGRAMMING EXAM

โจทย์

การเขียนโปรแกรมหาค่าฐานนิยม (Mode)

วิเคราะห์

โจทย์ข้อนี้เกี่ยวกับการหาค่าทางสถิติอีกอันที่น่าสนใจ ซึ่งยากขึ้นมาจากการหาค่าเฉลี่ย Mean การหาค่าฐานนิยม (Mode) นั้น เราต้องนับจำนวนตัวเลขว่ามีเลขใดซ้ำกันมากที่สุด ตัวเลขนั้นคือค่าฐานนิยมครับ ว่าแล้วก็ลองเอาไอเดียมาแปลงเป็นโค้ดพร้อมดูคำอธิบายกันได้เลย

Source Code 

package com.olanlab.share.stat;

public class Mode {
   public static void main(String[] args) {
      int point[] = { 1, 2, 3, 4, 4, 3, 3, 3, 3, 1 }; // สร้าง array มาเก็บชุดตัวเลขที่จะหาค่าฐานนิยม Mode
      
      int maxValue = 0; // ประกาศตัวแปรมาเก็บค่าฐานนิยม Mode 
      int maxCount = 0; // ประกาศตัวแปรเพื่อนับจำนวนว่าเลขใดมีจำนวนเยอะที่สุด

      for (int i = 0; i < point.length; ++i) { // วนลูปไปที่ตัวเลขแต่ละตัว
         int count = 0; // ประกาศตัวแปรไว้นับจำนวนตัวเลขในรอบนั้นๆ
         for (int j = 0; j < point.length; ++j) { // วนลูปเข้าไปนับว่ามีตัวเลขนั้นกี่ตัว
            if (point[j] == point[i])
               ++count;
	    }
	    if (count > maxCount) { // ตัวมากที่สุดเก็บไว้ในค่า MaxValue และจำนวนเก็บใน MaxCount
               maxCount = count;
               maxValue = point[i]; 
            }
         }
         System.out.println("Mode = " + maxValue); // แสดงค่าฐานนิยม Mode ออกหน้าจอ
      }
}

 

Output

 Mode = 3

 


แบ่งปัน

ชอบ +1

บันทึก

ฝากคำถาม คำแนะนำ ได้ที่

Facebook : Share.OlanLab.Com
LINE ID : @olanlab
อีเมล์ : olan@olanlab.com
Software Engineer, Inventor, Writer, Trainer
Share คลังความรู้ด้านเทคโนโลยี สารสนเทศ นวัตกรรมคอมพิวเตอร์ สอนเขียนโปรแกรม Php Java Html CSS Javascript C C++ Objective-C และอื่นๆ บนระบบปฏิบัติการ Window Linux Unix CentOS IOS Android
โดยผู้เขียนที่มีความเชี่ยวชาญเฉพาะ ให้บริการพื้นที่สำหรับนักเขียนที่ต้องการแบ่งปันความรู้ พร้อมให้คำปรึกษาแก่ผู้ที่สนใจ โดยไม่เสียค่าใช้จ่าย