Fri/Jan/4 [C_beginner] array - functions exercise

C beginner class

array and functions



#include <stdio.h>
void add_arrays(const int a[], const int b[], int c[], const int n);
int main(int argc, const char * argv[]) {
        int x[5], y[5], z[5]={0};
        
        for(short i=0; i<5; i++){
            x[i] = 10*(i+1);
        }
        
        for(short i=0; i<5; i++){
            y[i] = 111*(i+1);
        }
        int n =sizeof(x)/sizeof(int);
        // printf("%d",n);
        add_arrays(x,y,z,n);
        printf("Results of array add.\n\n");
            for(short i=0; i<5; i++){
                printf("z[%d] : %d\n", i, z[i]);
        }
        
    printf("\nFinish!\n");
    
    return 0;
    }
/*
main function 앞에 사용자 정의 함수 선언하는 거랑,
add_arrays function 안에서 function size 못구하는 거 몰라서
한참 헤맸네 휴..ㅋㅋ
*/
void add_arrays(const int a[], const int b[], int c[], const int n){
    
    for(short i=0; i<n ; i++){
        c[i] = a[i] + b[i];
    }
}
cs


POSCO 청년AI BigData 아카데미 지원으로 듣게 된 PABI
수업도 제대로 다 못듣고 결국 탈락했지만,
아쉬워서 남은 컴공 기초 강의 마저 들으면서 하는 기초 코딩

이제 기초 syntax, 연산 정도 조금씩 알아가는 단계긴 하지만,
Java에서 편한것,
C에서 편한 것이 조금씩 다른 듯!

< coding in Java >

public class MainClass {
    public static void main(String[] args){
        int x[] = new int[5];
        int y[] = new int[5];
        int z[] = new int[5];
        for(byte i=0; i < x.length; i++){
            x[i] = 10*(i+1);
        }
        for(byte i=0; i < y.length; i++){
            y[i] = 111*(i+1);
        }
        System.out.println("Result of array add.\n");
        addArray(x, y, z);
        for(byte i=0; i <x.length ; i++){
            System.out.println("z[i] is " + z[i] + ".");
        }
        System.out.println("\nFinish!");
    }
    public static void addArray(int[] a, int[] b, int[] c){
        /*
        가장 큰 array의 length로 새로운 array의 length 설정하기
        C에서도 이렇게 해보고 싶었던 건데,
        pointer값으로 전송이 되다보니 아예 size를 지정해서 보내야하는 듯..?
         */
        int n = 0;
        if(a.length < b.length){
            n = b.length;
        }
        else if(a.length > b.length){
            n = a.length;
        }
        else n = a.length;
        for(byte i=0 ; i <n ;i++){
            c[i] = a[i] + b[i];
        }
    }
}
cs

명령어 자체는 C가 좀더 simple한데
활용하기엔 Java basic library가 좋아서 Java가 편한거 같다
적어도 아직까진..

댓글

가장 많이 본 글