네트워크 보안 수업 16일차 - 코리아 정보보안 IT학원

2016. 4. 19. 16:42네트워크 보안 수업/C언어

반응형

다차원 배열


- 배열 x 배열 ..


다차원 배열의 선언


- int arr2[2][3];

- int arr3[2][3][5];


다차원 배열의 초기화


- int arr2[2][3] = {{1,2,3}, {4,5,6}}


[실습]

#include <stdio.h>


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

{

        int arr2[2][3]={{1,2,3},{4,5,6}};


        printf("arr2 addr: %08x \n",arr2);

        printf("arr2[0] addr: 0x%08x \n", arr2[0]);

        printf("arr2[0] addr: 0x%08x \n", *arr2);


        printf("arr2[0] first value: %d \n", arr2[0][0]);

        printf("arr2[0] first value: %d \n", *arr2);


        printf("arr2[0] second value: %d \n", arr2[0][1]);

        printf("arr2[0] second value: %d \n", *(*arr2+1));


        printf("arr2[0] third value: %d \n", arr2[0][2]);

        printf("arr2[0] third value: %d \n", *(*arr2+2));


        printf("arr2[1] addr: 0x%08x \n", arr2[1]);

        printf("arr2[1] addr: 0x%08x \n", *(arr2+1));


        printf("arr2[1] first value: %d \n", arr2[1][0]);

        printf("arr2[1] first value: %d \n", **(arr2+1));


        printf("arr2[1] second value: %d \n", arr2[1][1]);

        printf("arr2[1] second value: %d \n", *(*(arr2+1)+1));


        printf("arr2[1] third value: %d \n", arr2[1][2]);

        printf("arr2[1] third value: %d \n", *(*(arr2+1)+2));


        return 0;

}



[실습]


- 학생 2명의 국어, 영어, 수학 점수의 총합과 평균을 구하는 프로그램을 작성(2차원배열)



#include <stdio.h>


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

{

        int student[2][5]={{10,20,30,0,0},{40,59,60,0,0}};


        int i=0;

        int j=0;


        for(i=0;i<2;i++){

                for(j=0;j<3;j++){

                        student[i][3]=student[i][3]+student[i][j];

                }

        }


        for(i=0;j<2;i++){

                student[i][4]=student[i][3]/3;

        }


        for(i=0;i<2;i++){

                for(j=0;j<5;j++){

                        printf("%d\n",student[i][j]);

                }

        }

        printf("first student total: %d, avg: %d\n",student[0][3],student[0][4]);

        printf("second student total: %d, avg: %d\n",student[1][3],student[1][4]);

        return 0;

}




[과제]

5x5 배열


달팽이 만들기



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

{

        int loop1, loop2;

        int i=5, j=-1, k=0;

        int num1=1;

        int flag=1;

        int arr[5][5];



        while(i!=0){

                for(loop2=0;loop2<i;loop2++){

                        j=j+flag;

                        arr[k][j]=num1;

                        num1=num1+1;

                }

                i=i-1;

                for(loop1=0;loop1<i;loop1++){

                        k=k+flag;

                        arr[k][j]=num1;

                        num1=num1+1;

                }

                flag = flag * (-1);

        }


        for(loop1=0;loop1<5;loop1++){

                for(loop2=0;loop2<5;loop2++){

                        printf("%d\t",arr[loop1][loop2]);

                }

                printf("\n");

        }


        return 0;

}


반응형