29 พฤศจิกายน 2554

[JAVA] โปรแกรมแปลงเลขฐานสิบเป็นฐานใดๆ


import java.util.Scanner;
public class Exchange {  
// กำหนดตัวแปร
    public static void main(String [] args){
        int number, base;
        String basedNumber = "";
        int decNumber = 0;
        int iRemainder, c = ' ';
        char cRemainder = 0;
        Scanner key = new Scanner(System.in);
        // รับค่าตัวเลข และ ฐาน
        System.out.print("Enter number :");
        number=key.nextInt();

        do {
          System.out.print("Enter base (2-16): ");
          base =key.nextInt();
          if (base < 2 || base > 16)
              System.out.println("Invalid Base! Try again!");
        } while (base < 2 || base > 16);
        // แปลงเลขฐานสิบเป็นฐานใดๆ
        do {
          iRemainder = number % base; // หารเอาเศษ
          if (iRemainder >= 10) { // เศษมากกว่า 10 ต้องเปลี่ยนเป็น A,B,C,D,E,F
            switch (iRemainder) {
              case 10 : cRemainder = 'A'; break;
              case 11 : cRemainder = 'B'; break;
              case 12 : cRemainder = 'C'; break;
              case 13 : cRemainder = 'D'; break;
              case 14 : cRemainder = 'E'; break;
              case 15 : cRemainder = 'F'; break;
            }
            basedNumber = cRemainder + basedNumber; // ต่อสตริงจากหลังไปหน้า
          } else { // เศษ 0-9 เอามาต่อกับสตริงได้เลย เพราะ int จะถูกแปลงเป็น String อัตโนมัติ
            basedNumber = iRemainder + basedNumber; // ต่อสตริงจากหลังไปหน้า
          }
          number = number / base; // หารเลขด้วยฐาน
        } while (number > 0); // ทำไปจนกว่า number จะเป็น 0
        // แปลงเลขฐานใดๆ มาเป็นฐานสิบ
        c = 0;
        while (c < basedNumber.length()) {
          cRemainder = basedNumber.charAt(c);
          // เชคว่าเป็น Character ตัวใด แล้วเปลี่ยนให้เป็นตัวเลข
          switch (cRemainder) {
            case '0' : iRemainder = 0; break;
            case '1' : iRemainder = 1; break;
            case '2' : iRemainder = 2; break;
            case '3' : iRemainder = 3; break;
            case '4' : iRemainder = 4; break;
            case '5' : iRemainder = 5; break;
            case '6' : iRemainder = 6; break;
            case '7' : iRemainder = 7; break;
            case '8' : iRemainder = 8; break;
            case '9' : iRemainder = 9; break;
            case 'A' : iRemainder = 10; break;
            case 'B' : iRemainder = 11; break;
            case 'C' : iRemainder = 12; break;
            case 'D' : iRemainder = 13; break;
            case 'E' : iRemainder = 14; break;
            case 'F' : iRemainder = 15; break;
          }
          decNumber += iRemainder * (int) Math.pow(base, (basedNumber.length() - 1 - c)); // เอาเลขที่ได้คูณกับค่าประจำหลัก
          c++;
        }
        // แสดงผล
        System.out.println("Convert to base " + base + ": " + basedNumber);
        System.out.println("Convert back to base 10: " + decNumber);
    }
}

25 พฤศจิกายน 2554

[C++] โปรแกรมหา Series cos x ด้วยวิธี Maciaurin Series


สามารถเปลี่ยนมุมได้ตรงบรรทัด x = M_PI / 3
ในที่นี้ M_PI / 3 ก็คือ ไพน์ หาร ด้วย 3 นั่นเอง



24 พฤศจิกายน 2554

[C++] คำสั่งรับค่า แบบ getch()

// x ในที่นี้ ทำขึ้นเพื่อใช้กับคำสั่ง gotoxy(x,y) เพื่อให้ตำแหน่งของส่วนแสดงผล 
//สามารถแสดงผลได้อย่างถูกต้อง (ลืมเอา ert ออก -.- เวลาไปใช้ไม่ต้องใส่ตัวนี้นะครับ)


[C++]โปรแกรมแปลงตัวเลข 1 - 1000 ให้แสดงเป็นข้อความ



23 พฤศจิกายน 2554

[JAVA][Image]ส่วนของคำสั่งแก้ไขอาการ salt & paper noise

โค๊ดนี้จะดึงค่า RGB ออกมาและทำการเก็บข้อมูลลงในตัวแปร filter เพื่อหาค่าที่อยู่ตรงกลาง
นำไปใช้กับรูปภาพที่มีการเกิด salt & paper noise
                int filter[] =  new int[9];
                for(int z = 1 ; z<=5;z++)
                {
                    for(int i = 1;i<=image.getWidth()-2;i++)
                    {  
                        for(int j = 1;j<=image.getHeight()-2;j++)
                        {
                            filter [0] = rgb[i-1][j-1];
                            filter [1] = rgb[i][j-1];
                            filter [2] = rgb[i+1][j-1];
                            filter [3] = rgb[i-1][j];
                            filter [4] = rgb[i][j];
                            filter [5] = rgb[i+1][j];
                            filter [6] = rgb[i-1][j+1];
                            filter [7] = rgb[i][j+1];
                            filter [8] = rgb[i+1][j+1];

                            Arrays.sort(filter);
                            rgb[i][j]=filter[4];
                        }        
                    }
                }


[JAVA] ส่วนของคำสั่ง การเปิดไฟล์เองได้ (ListFile)


import java.util.*;
import java.io.*;
import javax.swing.*;
public class ListFile {

public static void main(String[] args) throws IOException{
String name = "";
File filename = new File("");
JFileChooser ch = new JFileChooser();
int status = ch.showOpenDialog(null);
if(status == JFileChooser.APPROVE_OPTION){
filename = ch.getSelectedFile();
FileReader inleader = new FileReader(filename);
Scanner x = new Scanner(inleader);

/*
*
* Statement
*
*
*/
}else{
System.out.println("Open File Dialog cancelled.");
}
}
}