C Language

slantline

또하나의세상2 2012. 3. 6. 21:20

#include <stdio.h>
#define ROW 5
#define COL 5

int main(int argc, char *argv[])
{
#if 0
 int data[ROW][COL];
 int i,j; // 첨자제어변수
 int step = 1;
 int number = 0;
 int loop_count = 1;
 
 //--------------------------------------
 // 실행문
 while( number < ROW * COL )
 {
  if( step == 1)
  {
   i = 0;
   for( j = loop_count-1; j >= 0; j--)
   {
    number++;
    data[i][j] = number;
    i++;
   }

   loop_count += step;
   if ( loop_count > ROW )
   {
    step = -1;
    loop_count -= 2;
   }
  }
  else
  {
   i = ROW - loop_count;
   for( j = COL-1; j >= COL-loop_count; j--)
   {
    number++;
    data[i][j] = number;
    i++;
   }

   loop_count += step;
  }
 }
#endif

#if 1
 int data[ROW][COL];
 int i,j; // 첨자제어변수
 int k;
 int number = 1;
  
 i = 0;
 for( k = 1; k <= ROW; k++)
 {
  j = i;
  for( i = 0; i <= k-1; i++)
  {
   data[i][j] = number++;
   j--;
  }
 }

 for( i = 1; i <= ROW-1; i++)
 {
  k = i;
  for(j=ROW-1; j >= i; j--)
  {
   data[k][j] = number++;
   k++;
  }
 }

 for( i = 0; i < ROW; i++)
 {
  for( j = 0; j < COL; j++)
  {
   printf("%5d", data[i][j]);
  }
  printf("\n");
 }
#endif
 return 0;
}


//---------------------------------------또다른 방법

#include <stdio.h>



void arraySquare(void);


int main(int argc, const char *argv[])

{

arraySquare();

return 0;

}



#define ROW 5

#define COL ROW


void arraySquare(void){

    

//∫غˆ º±æ

int arr[ROW][COL]={0};

int i,j;

int count=0;

int sum;

int input=0;

    

sum=ROW+COL-2;

    

while(count<=sum)

{

for(i=0;i<ROW;i++)

{

for(j=0;j<COL;j++)

{

if((i+j)==count)

{

arr[i][j]=input;

input++;

}

}

}

count++;

}

    

for(i=0;i<ROW;i++)

    {

        for(j=0;j<COL;j++)

        {

            printf("%4d", arr[i][j]+1);

        }

        printf("\n");

    }

}

'C Language' 카테고리의 다른 글

shellsort  (0) 2012.03.06
insertsort  (0) 2012.03.06
magicsquare  (0) 2012.03.06
snail  (0) 2012.03.06
scanf_s를 쓰라고 권고하는 visual studio 등등  (0) 2012.03.02