ÇÁ·Î±×·¡¹Ö

 3198, 1/160 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   Lunatie
   ¹è¿­À» ÀÌ¿ëÇÑ ±äÀÚ¸®¼ö µ¡¼À»¬¼ÀÁú¹®ÀÔ´Ï´Ù.

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3418 [º¹»ç]


#include <stdio.h>
#define DIGIT 20
#define SIZE (DIGIT/4 + 1)

void ladd(short [], short [], short [], int);
void lsub(short [], short [], short [], short [], int);
void printArray(short [], int);

void main(void)
{  
//1¹ø °á°ú¸¦ Å×½ºÆ® Çϱâ À§ÇÑ ÀÔ·Â µ¥ÀÌÅÍ
//        short a[SIZE] = {1234, 5678, 9012, 3456,1234};
//        short b[SIZE] = {999,5432,109, 8765, 4321};
//        2¹ø °á°ú¸¦ Å×½ºÆ® Çϱâ À§ÇÑ ÀÔ·Â µ¥ÀÌÅÍ
//        short a[SIZE] = {9999,5432,109, 8765, 4321};
//        short b[SIZE] = {1234, 5678, 9012, 3456,1234};
//        3¹ø °á°ú¸¦ Å×½ºÆ® Çϱâ À§ÇÑ ÀÔ·Â µ¥ÀÌÅÍ
//        short a[SIZE] = {1234, 5678, 9012, 3456,1234};
//        short b[SIZE] = {9999,5432,109, 8765, 4321};
//        4¹ø °á°ú¸¦ Å×½ºÆ® Çϱâ À§ÇÑ ÀÔ·Â µ¥ÀÌÅÍ
//        short b[SIZE] = {9012, 3456,1234};
//        short a[SIZE] = {5432,109, 8765, 4321};
//        short c[SIZE];
//        short l[SIZE] = {0,0,0,0,0,0};

        printf("A: ");
        printArray(a, SIZE);
        printf("\n+");
        printf("\nB: ");
        printArray(b, SIZE);
        printf("\n\n=  ");
        ladd(a,b,c,SIZE);
        printArray(c,SIZE);
        printf("\n\n\n");
        printf("A: ");
        printArray(a, SIZE);
        printf("\n-");
        printf("\nB: ");
        printArray(b, SIZE);
        printf("\n\n=  ");
        lsub(a,b,c,l,SIZE);
        printArray(c,SIZE);
                if (l[0] != 0)
          printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b-");
        printf("\n");
        
}

void ladd(short a[], short b[], short c[],int n)
{
        int u=0;

    for (n = SIZE-1 ; n>=0; n--)
          {   c[n] = a[n] + b[n] + u;
          
                  if(c[n] < 10000)
                 u = 0;
              else {
                 c[n] = c[n] - 10000;
                 u = 1;
                   }
      }
        if(a[0] + b[0] >=10000)
                ++c[5];
}

void lsub(short a[], short b[], short c[],short l[], int n)
{
        int d = 0;
        
    
        
        if(a[0] < b[0]) {
                for(n=0;n<=5;n++)
                 {  l[n] = a[n];
                    a[n] = b[n];
                        b[n] = l[n];
             }
        
        }
                        
    for (n = SIZE-1; n>=0; n--) {
        c[n] = a[n] - b[n] - d;
        
        if (c[n] >= 0)
            d = 0;
        else {
            c[n] = c[n] + 10000;
            d = 1;
             }
                                }

}

void printArray(short a[], int n)
{    
         if(a[5] != 0)
          printf("%4d ",a[5]);
         else
      printf("     ");
          
         for (n=0; n< SIZE-1 ; n++){
         if(n==0)
                  printf("%4d ",a[n]);
                 else
                  printf("%04d ",a[n]);
         }
        
}
ÀÌ°Ô ÀÏ´Ü Â§ ÄÚµåÀÔ´Ï´Ù. ÀÌ ³»¿ë¿¡¼­´Â Äڵ忡¼­ º¸µç 1~3¹ø Å×½ºÆ®±îÁö¸¸ °¡´ÉÇÕ´Ï´Ù..
±×..·±..µ¥.. 4¹ø Å×½ºÆ®..
ÀÚ¸´¼ö°¡ ´Ù¸¦ °æ¿ì¿¡´Â ÀÌ ÄÚµå.. ¾²·¹±âÁÒ.. ¿À·ù³ª°í....¤Ð
¹ü¿ë¼º ÀÖ°Ô ¸¸µå·Á¸é ¾îµð¸¦ ¼öÁ¤ÇؾßÇÒ±î¿ä..

  Hit : 5665     Date : 2012/05/19 11:02