U E D R , A S I H C RSS

새싹교실/2015/우리반/9주차 (rev. 1.3)

새싹교실/2015/우리반/9주차



1. 참여자 명단


강사 홍성현 14학번 출석
학생 장해민 15학번 출석
이한용 출석


2. 수업

2.1. 진행

1. 장소 : 6층 PC실
2. 시간 : 5월 27일 2시 ~ 3시(수요일)

2.2. 내용

  • 2차원 배열 사용법

실습
1차원 배열을 통한 실습(sort, 자유롭게 값을 넣고 빼기, 소수 구하기, 짝수 구하기 복합)

3. 숙제

ppt로 올려준 내용 - 최대한 함수를 써라!

4. 후기

  • 욕심을 버리고 String이나 구조체 같이 진도를 더 나가지 않고 배열 사용법이라도 제대로 익혀서 보내기로 마음 먹었어요. - 홍성현

5. 숙제제출

실습 때 완성 못한 내용 과제로 제출, 시험지 준 것 풀어오기, 평가표 작성

5.1. 장해민

/*

#include "stdio.h"

void DeleteDuplicate(int*, int*, int*);
void DeleteEven(int*, int*, int*);
void DeletePrime(int*, int*, int*);
void print(int*, int);
void bubble(int*, int);
void add(int*, int*);

int main()
{
    int num[256], uqnum[256];
    int rcv, i, game;
    int count=0;
    
    printf("Type numbers except 0(type 0 at the end): ");
    for (i=0; i<256; i++){
        scanf("%d", &rcv);
        if (rcv==0)
            break;
        else {
            num[i]=rcv;
            count+=1;
        }
    }
    
    DeleteDuplicate(uqnum, num, &count);
    bubble(num, count);
    print(num, count);
    
    for (;;){
    //Choose a game
    printf("1. Add numbers\n2. Remove even numbers\n3. Remove prime numbers\n4. Exit\nGame number: ");
    scanf("%d", &game);
    if (game==4)
        break;
    else{
        switch (game)
        {
            case 1: printf("Type numbers you want to add: ");
                add(num, &count);
                break;
            case 2: printf("Remove even\n");
                DeleteEven(uqnum, num, &count);
                break;
            case 3: printf("Remove prime\n");
                DeletePrime(uqnum, num, &count);
                break;
        }
    }
    DeleteDuplicate(uqnum, num, &count);
    bubble(num, count);
    print(num, count);
    }

    return 0;
}

void print(int a[], int n)
{
    int i;
    printf("Result: ");
    for (i=0; i<n; i++){
        printf("%d ", a[i]);
    }
    printf("(%d numbers)\n", n);
}

void DeleteDuplicate(int a[], int b[], int *n)
{
    int h, i, j, k;
    int count=*n;
    
    for (h=0; h<256; h++){
        a[h]=0;
    }
    
    for (i=0; i<*n; i++){
        for (j=0; j<*n; j++){
            if (a[j]!=b[i]&&a[j]==0){
                a[j]=b[i];
                break;
            }
            if (a[j]==b[i]){
                count--;
                break;
            }
        }
    }
    *n=count;
    for (k=0; k<count; k++){
        b[k]=a[k];
    }
}

void DeleteEven(int a[], int b[], int *n)
{
    int h, i, j=0 ,k;
    int count=*n;
    
    for (h=0; h<*n; h++){
        a[h]=0;
    }
    
    for (i=0; i<*n; i++){
        if (b[i]%2!=0){
            a[j]=b[i];
            j++;
        }
        else
            count--;
    }
    *n=count;
    for (k=0; k<count; k++){
        b[k]=a[k];
    }
}

void DeletePrime(int a[], int b[], int *n)
{
    int h=0, i, j, k, l=0, count=0;
    int count2=*n;
    
    for (h=0; h<*n; h++){
        a[h]=0;
    }
    
    for (i=0; i<*n; i++){
        for (j=1; j<=b[i]; j++){
            if (b[i]%j==0)
                count++;
        }
        //1 or
        if (count==2){
            count2--;
            count=0;
        }
        else {
            a[l]=b[i];
            l++;
            count=0;
        }
    }
    *n=count2;
    for (k=0; k<count2; k++){
        b[k]=a[k];
    }
}

//Sort by size
void bubble(int a[], int n)
{
    int temp;
    int i, j;
    for (j=0; j<n; j++){
        for (i=0; i<n-1; i++){
            if (a[i]>=a[i+1]){
                temp=a[i];
                a[i]=a[i+1];
                a[i+1]=temp;
            }
        }
    }
}

void add(int a[], int *n)
{
    int i;
    int rcv;
    int count=*n;
    for (i=*n; i<256; i++){
        scanf("%d", &rcv);
        if (rcv==0)
            break;
        else {
            a[i]=rcv;
            count++;
        }
    }
    *n=count;
}

*/
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:58
Processing time 0.0420 sec