วันศุกร์ที่ 23 กันยายน พ.ศ. 2554

โปรแกรมหาค่า ห.ร.ม.(G.C.D program)Positive intergers หารร่วมมาก

โปรแกรมหาค่า ห.ร.ม.(หารร่วมมาก input 2 ค่า)


#include
main(){
int num1,num2,check;
printf("\t\t**********************************************\n");
printf("\t\t\t\tThe G.C.D program.\n");
printf("\t\t**********************************************\n");
printf("\t\t\tEnter two positive intergers: ");
scanf("%d %d",&num1,&num2);/*8,4*/
if(num1 check=num1;
}else{
check=num2;/*check=4*/
}
while(((num1%check)!=0)||((num2%check)!=0)){/*ทำการวนลูป*/
check=check-1;
}
printf("\t\t**********************************************\n");
printf("\t\t\t\tThe G.C.D of %d and %d is %d\n",num1,num2,check);
printf("\t\t**********************************************\n");

}

วันพฤหัสบดีที่ 15 กันยายน พ.ศ. 2554

โค๊ตโปรแกรมเป่ายิ้งฉุบ แข่งกับคอมฯ ตอนที่ 2

โค๊ตโปรแกรมเป่ายิ้งฉุบ แข่งกับคอมฯ  ตอนที่ 2
โปรแกรมภาษาซี ตอน โค๊ต ตัวอย่างโปรแกรมเป่ายิ๊งฉุบ ตอนที่ 2


#include <stdio.h>
#include <time.h>

main(){
    int i,ran,user2,cp1=0,cp2=0;
    char com,user;
    srand(time(0));
    printf("\t\tProgram game powjingshup r=rock p=paper s=scissor.\n");
    for(i=1;i<=5;i++){
            ran= (rand()%3)+1;

            if(ran==1){
                    com='r';
                }else if(ran==2){
                    com='p';
                }else{
                    com='s';
                }

            printf("\n\t%d. Time player1:",i);
            scanf("%c",&user);
            printf("\t%d. Time player2: %c \n",i,com);
                if(user=='r'){
                    user2=1;
                }if(user='p'){
                    user2=2;
                }if(user='s');
                    user2=3;



            if((ran==user2)){
                printf("\tEqual\n");
                }
            if((ran==1&&user2==3)||(ran==2&&user2==1)||(ran==3&&user2==2)){
                printf("\n\tPlayer2 Win!\n");
                cp2+=1;
            }else{
                printf("\n\tPlayer1 Win!\n");
                cp1+=1;
            }



    }


}

วันพุธที่ 14 กันยายน พ.ศ. 2554

โค๊ตโปรแกรมภาษาซี ตรวจสอบตำแหน่งตัวเลขที่รับเข้ามาว่าอยู่ที่ตำแหน่งใด

โปรแกรมตรวจสอบตำแหน่งตัวเลขที่รับเข้ามาว่าอยู่ที่ตำแหน่งใด

สำหรับโปรแกรมนี้นะครับ เราจะมาตรวจสอบว่า ตัวเลขที่เรารับ่เข้ามาจำนวน 10 จำนวน

                  เช่น Input : 1234567890
                  และต้องการรู้ว่า เลข 9 อยู่ตำแหน่งใดที่เรารับเข้ามา

โปรแกรมรับเลขจำนวนเต็ม 10 จำนวน จากนั้นรับตัวเลขที่ต้องการเข้ามาตรวจสอบว่าตัวเลขนั้น
อยู่ที่ตำแหน่งใด

#include
int main(){
int i,j,k,check,checknall,pnum[10];
printf("Check index number 10 number.\n");
for(i=1;i<=10;i++){
printf("Input number[%d]:",i);
scanf("%d",&pnum[i]);
}
printf("\n");
printf("You're input 10 positive numbers.\n");
for(j=1;j<=10;j++){
printf("[%d]%d ",j,pnum[j]);
if(j==5){
printf("\n");
}

}
printf("\nCheck index integer:");
scanf("%d",&check);
for(k=1;k<=10;k++){
if(check==pnum[k]){
printf("Index integer is %d\n",k);
checknall=1;
break;
}
}
if(checknall!=1)
printf("No index position!\n");
return (0);
}

ปล.เราต้องการตำแหน่งนะครับ อิอิ ว่าตัวที่เราต้องการตรวจสอบอยู่ตำแหน่งที่เท่าไหร่ที่เรารับเข้ามา


วันอังคารที่ 13 กันยายน พ.ศ. 2554

โปรแกรมเพื่อทำการ transpose เมตริกซ์

โปรแกรมเพื่อทำการ transpose เมตริกซ์ขนาด nXm ที่ใช้เก็บข้อมูลจำนวนเต็ม
#include
              main(){
                        int n,i,j;
                        printf("Input dimension of Matrix:");
                        scanf("%d",&n);
                        int mat[n][n];
                             printf("Input element nXn matrix.\n");
                        for(i=0;i




          int transp[n][n];
            for(i=0;i<n;i++){
                for(j=0;j<n;j++){
                    transp[i][j]=mat[j][i];
                }
            }
            for(i=0;i<n;i++){
                for(j=0;j<n;j++){
                    printf("%d ",transp[i][j]);
                }
            printf("\n");
            }
}

มีคำถามสงสัยถาม-ตอบกันได้ครับ หัดคิด ทำโจทย์บ่อยนะครับ




วันพุธที่ 24 สิงหาคม พ.ศ. 2554

โค๊ด หาปีอธิกสุรธิน ตัวอย่าง ภาษาซี(c) ตัวอย่างโปรแกรมภาษาซี หาปีที่เป็นอธิกวาร(Leap year) หรือไม่

ตัวอย่างโค๊ต โปรแกรมหาปีที่มีอธิกวาร(Leap year)
หรือ อธิกสุรธิน



ข้อมูลปีตามจันทรคติที่เป็น
0 : ปกติมาส-วาร
1 : อธิกวาร
2 : อธิกมาส

ข้างล่างนี้เป็นข้อมูลตามปฏิทินอยู่ 2 เล่ม ซึ่งเมื่อทานความถูกต้องแล้ว ก็พบว่ามีความถูกต้องเหมือนกันทั้ง 2 เล่ม

|  2400 |  1857 |       0 |
|  2401 |  1858 |       2 |
|  2402 |  1859 |       0 |
|  2403 |  1860 |       1 |
|  2404 |  1861 |       2 |
|  2405 |  1862 |       0 |
|  2406 |  1863 |       2 |
|  2407 |  1864 |       0 |
|  2408 |  1865 |       1 |
|  2409 |  1866 |       2 |
|  2410 |  1867 |       0 |
|  2411 |  1868 |       0 |
|  2412 |  1869 |       2 |
|  2413 |  1870 |       0 |
|  2414 |  1871 |       1 |
|  2415 |  1872 |       2 |
|  2416 |  1873 |       0 |
|  2417 |  1874 |       2 |
|  2418 |  1875 |       0 |
|  2419 |  1876 |       1 |
|  2420 |  1877 |       2 |
|  2421 |  1878 |       0 |
|  2422 |  1879 |       0 |
|  2423 |  1880 |       2 |
|  2424 |  1881 |       1 |
|  2425 |  1882 |       2 |
|  2426 |  1883 |       0 |
|  2427 |  1884 |       0 |
|  2428 |  1885 |       2 |
|  2429 |  1886 |       0 |
|  2430 |  1887 |       1 |
|  2431 |  1888 |       2 |
|  2432 |  1889 |       0 |
|  2433 |  1890 |       2 |
|  2434 |  1891 |       0 |
|  2435 |  1892 |       1 |
|  2436 |  1893 |       2 |
|  2437 |  1894 |       0 |
|  2438 |  1895 |       0 |
|  2439 |  1896 |       2 |
|  2440 |  1897 |       0 |
|  2441 |  1898 |       1 |
|  2442 |  1899 |       2 |
|  2443 |  1900 |       0 |
|  2444 |  1901 |       2 |
|  2445 |  1902 |       0 |
|  2446 |  1903 |       1 |
|  2447 |  1904 |       2 |
|  2448 |  1905 |       0 |
|  2449 |  1906 |       0 |
|  2450 |  1907 |       2 |
|  2451 |  1908 |       1 |
|  2452 |  1909 |       2 |
|  2453 |  1910 |       0 |
|  2454 |  1911 |       0 |
|  2455 |  1912 |       2 |
|  2456 |  1913 |       0 |
|  2457 |  1914 |       1 |
|  2458 |  1915 |       2 |
|  2459 |  1916 |       0 |
|  2460 |  1917 |       1 |
|  2461 |  1918 |       2 |
|  2462 |  1919 |       0 |
|  2463 |  1920 |       2 |
|  2464 |  1921 |       0 |
|  2465 |  1922 |       0 |
|  2466 |  1923 |       2 |
|  2467 |  1924 |       0 |
|  2468 |  1925 |       1 |
|  2469 |  1926 |       2 |
|  2470 |  1927 |       0 |
|  2471 |  1928 |       2 |
|  2472 |  1929 |       1 |
|  2473 |  1930 |       0 |
|  2474 |  1931 |       2 |
|  2475 |  1932 |       0 |
|  2476 |  1933 |       1 |
|  2477 |  1934 |       2 |
|  2478 |  1935 |       0 |
|  2479 |  1936 |       1 |
|  2480 |  1937 |       2 |
|  2481 |  1938 |       0 |
|  2482 |  1939 |       2 |
|  2483 |  1940 |       0 |
|  2484 |  1941 |       0 |
|  2485 |  1942 |       2 |
|  2486 |  1943 |       0 |
|  2487 |  1944 |       2 |
|  2488 |  1945 |       1 |
|  2489 |  1946 |       0 |
|  2490 |  1947 |       2 |
|  2491 |  1948 |       0 |
|  2492 |  1949 |       1 |
|  2493 |  1950 |       2 |
|  2494 |  1951 |       0 |
|  2495 |  1952 |       1 |
|  2496 |  1953 |       2 |
|  2497 |  1954 |       0 |
|  2498 |  1955 |       0 |
|  2499 |  1956 |       2 |
|  2500 |  1957 |       1 |
|  2501 |  1958 |       2 |
|  2502 |  1959 |       0 |
|  2503 |  1960 |       0 |
|  2504 |  1961 |       2 |
|  2505 |  1962 |       0 |
|  2506 |  1963 |       1 |
|  2507 |  1964 |       2 |
|  2508 |  1965 |       0 |
|  2509 |  1966 |       2 |
|  2510 |  1967 |       0 |
|  2511 |  1968 |       0 |
|  2512 |  1969 |       2 |
|  2513 |  1970 |       1 |
|  2514 |  1971 |       0 |
|  2515 |  1972 |       2 |
|  2516 |  1973 |       1 |
|  2517 |  1974 |       0 |
|  2518 |  1975 |       2 |
|  2519 |  1976 |       0 |
|  2520 |  1977 |       2 |
|  2521 |  1978 |       0 |
|  2522 |  1979 |       1 |
|  2523 |  1980 |       2 |
|  2524 |  1981 |       0 |
|  2525 |  1982 |       0 |
|  2526 |  1983 |       2 |
|  2527 |  1984 |       0 |
|  2528 |  1985 |       2 |
|  2529 |  1986 |       0 |
|  2530 |  1987 |       1 |
|  2531 |  1988 |       2 |
|  2532 |  1989 |       0 |
|  2533 |  1990 |       1 |
|  2534 |  1991 |       2 |
|  2535 |  1992 |       0 |
|  2536 |  1993 |       2 |
|  2537 |  1994 |       0 |
|  2538 |  1995 |       0 |
|  2539 |  1996 |       2 |
|  2540 |  1997 |       1 |
|  2541 |  1998 |       0 |
|  2542 |  1999 |       2 |
|  2543 |  2000 |       1 |
|  2544 |  2001 |       0 |
|  2545 |  2002 |       2 |
|  2546 |  2003 |       0 |
|  2547 |  2004 |       2 |
|  2548 |  2005 |       0 |
|  2549 |  2006 |       1 |
|  2550 |  2007 |       2 |
|  2551 |  2008 |       0 |
|  2552 |  2009 |       1 |
|  2553 |  2010 |       2 |
|  2554 |  2011 |       0 |
|  2555 |  2012 |       2 |
|  2556 |  2013 |       0 |
|  2557 |  2014 |       1 |
|  2558 |  2015 |       2 |
|  2559 |  2016 |       0 |
|  2560 |  2017 |       0 |
|  2561 |  2018 |       2 |
|  2562 |  2019 |       0 |
|  2563 |  2020 |       0 |
|  2564 |  2021 |       2 |
|  2565 |  2022 |       0 |
|  2566 |  2023 |       2 |
|  2567 |  2024 |       0 |
|  2568 |  2025 |       1 |
|  2569 |  2026 |       2 |
|  2570 |  2027 |       0 |
|  2571 |  2028 |       0 |
|  2572 |  2029 |       2 |
|  2573 |  2030 |       1 |
|  2574 |  2031 |       2 |
|  2575 |  2032 |       0 |


ข้อมูลจาก   http://www.horasaadrevision.com/index.php?lay=show&ac=article&Id=129532&Ntype=4





โดยโปรแกรมภาษาซีของเราจะมีการรับค่าเข้าเป็นเลขจำนวนเต็มบวก 3 ตัว 

ได้แก่
day,month และ year  


แล้วพิมพ์วันที่ เดือน ปี เพื่อแทนค่านั้นออกมา 
และข้อความที่บอกว่าปีนั้นเป็นปีอธิกวาร(leap year) หรือไม่ด้วย
ตัวอย่าง

                                                             Input :     6  4  1997
                                                          Output :  April 6, 1997 and 1997 is not a leap year
แนวคิดว่าเป็นปีอธิกวารหรือไม่ครับ - -*


  •  ปีอธิกวารจะหารด้วย 4 ลงตัว แต่หารด้วย 100 ไม่ลงตัว หรือเป็นปี ค.ศ.ซึ่งหารลงตัวด้วย400

  • ข้อยกเว้นที่ 1 ถ้าปีที่หารด้วย 4 ลงตัว แต่ ถ้าปีนั้นหารด้วย 100 ลงตัวด้วย ก็ไม่นับเป็นปี อธิกสุรธิน (กพ.มี 28 วัน) เช่นปี 1400,1500,1700,1800 เป็นต้น

  • ข้อยกเว้นที่ 2 ถ้าปีนั้นหารด้วย100 ลงตัว แต่ว่าหารด้วย 400 ลงตัว ก็ให้นับเป็น ปีอธิกสุรทิน (กพ.มี 29 วัน )เช่นปี 400,800,1200,1600 และปี 2000 ที่เพิ่งผ่านมาเป็นต้น




#include <stdio.h>
int main(){
    int i,day,month,year,check1=0,check2=0,check3=0;
    char mstr;
    printf("\t\tProgram check 'Leap year'.\n");
    printf("\t\tInput 'dd mm yyyy' Only.\n");
    printf("\t\tInput:");
    scanf(" %d %d %d",&day,&month,&year);
    check1=year%4;
    check2=year%400;
    check3=year%100;
    if(month==2&&day>29){
        printf("\t\tData fail.!!!\n");
    }else{
        if(month>0&&month<13&&day>0&&day<32){
    switch(month){
            case 1:printf("\tJanuary");
            break;
            case 2:printf("\tFabruary");
            break;
            case 3:printf("\tMarch");
            break;
            case 4:printf("\tApri");
            break;
            case 5:printf("\tMay");
            break;
            case 6:printf("\tJune");
            break;
            case 7:printf("\tJunly");
            break;
            case 8:printf("\tAgust");
            break;
            case 9:printf("\tSeptember");
            break;
            case 10:printf("\tOctober");
            break;
            case 11:printf("\tNovember");
            break;
            case 12:printf("\tDecember");
            break;
            }
    if (check1==0){
        if(check3!=0){
                printf(" %d, %d and %d is a leap year.\n",day,year,year);
            }else if(check3==0&&check2==0){
                printf(" %d, %d and %d is a leap year.\n",day,year,year);
            }else{
            printf(" %d, %d and %d is not a leap year.\n",day,year,year);
            }
        }else{
        printf(" %d, %d and %d is not a leap year.\n",day,year,year);
    }
    }else{
        printf("\t\tData fail.!!!\n");
    }
    }
   return 0;
}



ปล.อันนี้ลองไปทำกันดูครับ ถ้ามีโค๊ต อะไรที่น่าสนใจ หรือมีโจทย์มาถาม โพท์ต ถาม-ตอบกันได้เลยครับ...


วันอังคารที่ 16 สิงหาคม พ.ศ. 2554

โค๊ด ตัวอย่าง ภาษาซี(c) ตัวอย่างโปรแกรมภาษาซี ทำการอ่านลำดับของเลขจำนวนเต็มบวกซึ่งจะยุติการอ่านเมื่อ อ่านพบเลข 0 และทำการพิมพ์หาค่าเฉลี่ย

โปรแกรมทำการอ่านลำดับของเลขจำนวนเต็มบวกซึ่งจะยุติการอ่านเมื่อ อ่านพบเลข 0 และทำการพิมพ์หาค่าเฉลี่ย





#include 

main(){
int n=0,number,sum=0,average=0;
             printf("\t\t**********************************************\n");
             printf("\t\tAverage for only realnumber program.\n");
             printf("\t\t----------------------------------------------\n");
             printf("\t\tPress number 0 for stop program.\n");
             printf("\t\t**********************************************\n");
do{
            printf("\t\tInsert Realnumber : ");
            scanf("%d",&number);
        if(number>0){
           sum+=number;
           n++;
       }else{
               printf("\t\tOnly realnumber for program 0,1,2,...,n\n");
       }
     }while(number!=0);
            average=sum/n;
printf("\t\t**********************************************\n");
printf("\t\t\t\tYou're average is %d",average);
printf("\t\t**********************************************\n");
}

ปล.อันนี้ใช้ลูปแบบ do while ครับก็ลองดูศึกษาดูได้นะครับ


วันอาทิตย์ที่ 7 สิงหาคม พ.ศ. 2554

โค๊ด ตัวอย่าง ภาษาซี(c) ตัวอย่างโปรแกรมภาษาซี เกาส์(Gauss elimination)

โค๊ด ตัวอย่าง ภาษาซี(c) 
ตัวอย่างโปรแกรมภาษาซี เกาส์(Gauss elimination)


ตัวบนทำตัวรับค่าทาง keyboard (ของเค้าทำแบบ fix ค่าให้ขนาดของ array)
เพื่อเก็บค่าจากโจทย์ ลงใน array
แล้วค่อยลงในโค้ทด้านล่าง



#include <stdio.h>
main(){
            int n=3,i=0,j=0,k=0,rows,columns;
            double t=0,sum=0;
            printf("Input rows and columns:");
            scanf("%d %d",&rows,&columns);

            double [rows][columns]a = new double [n][n+1];
            double []x = new double [n];

                for(i=0;i<n+1;i++){      // อันนี้คือ การแก้งานตาม Guass emination

                for(k=i+1;k<n;k++){

                        t = -(a[k][i]/a[i][i]);

                    for(j=0;j<n+1;j++){

                        a[k][j] = (t*a[i][j])+(a[k][j]);

                    }

                }

            }
 //สร้างตัวปริ้นค่าออกทางหน้าจอตามใจ





            for(i=n-1;i>=0;i--){                // อันนี้คือ หาค่า x1 , x2 , x3
                for(j=i+1;j<n;j++){
                    sum=sum+(a[i][j]*x[j]);
                }
                a[i][n]=a[i][n]-result1;
                result1=0;
                x[i]=a[i][n]/a[i][i];
            }
            for(i=0;i<=2;i++){
                    printf("X%d = %.4f \n",i+1,x[i]); // อันนี้คือ พิมพ์ x1 , x2 , x3
            }
}


X1 = -0.5000

X2 = -0.1667

X3 = 1.1667*/

ลองหัดเขียนเล่นๆดูครับ มีประโยชน์มาก เกาส์(Gauss elimination)