More actions
imported>lepor_lepos No edit summary |
imported>lhy0718 No edit summary |
||
| (5 intermediate revisions by one other user not shown) | |||
| Line 35: | Line 35: | ||
= 후기 = | = 후기 = | ||
* 욕심을 버리고 String이나 구조체 같이 진도를 더 나가지 않고 배열 사용법이라도 제대로 익혀서 보내기로 마음 먹었어요. - [[홍성현]] | * 욕심을 버리고 String이나 구조체 같이 진도를 더 나가지 않고 배열 사용법이라도 제대로 익혀서 보내기로 마음 먹었어요. - [[홍성현]] | ||
* 우왕 프로그래밍 재미땅 - 장해민 | |||
---- | ---- | ||
= 숙제제출 = | = 숙제제출 = | ||
| Line 40: | Line 41: | ||
== 장해민 == | == 장해민 == | ||
#include "stdio.h" | #include "stdio.h" | ||
| Line 73: | Line 74: | ||
for (;;){ | for (;;){ | ||
//Choose a game | |||
printf("1. Add numbers\n2. Remove even numbers\n3. Remove prime numbers\n4. Exit\nGame number: "); | |||
scanf("%d", &game); | |||
printf("\n"); | |||
if (game==4) | |||
break; | |||
else{ | |||
switch (game) | |||
{ | |||
case 1: printf("Type numbers you want to add except 0(type 0 at the end)\n: "); | |||
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); | |||
} | } | ||
| Line 103: | Line 105: | ||
{ | { | ||
int i; | int i; | ||
printf(" | printf("\nResult: "); | ||
for (i=0; i<n; i++){ | for (i=0; i<n; i++){ | ||
printf("%d ", a[i]); | printf("%d ", a[i]); | ||
} | } | ||
printf("(%d numbers)\n", n); | if (n!=1) | ||
printf("(%d numbers)\n\n", n); | |||
else | |||
printf("(one number)\n\n"); | |||
} | } | ||
| Line 223: | Line 228: | ||
*n=count; | *n=count; | ||
} | } | ||
== 이한용 == | == 이한용 == | ||
/* | /* | ||
#include<stdio.h> | |||
int i, j, t, count=0, arr[100]; | |||
void order_1(); | |||
void order_2(); | |||
void order_3(); | |||
int main() | |||
{ | |||
int num; | |||
while (1) | |||
{ | |||
printf("1. 숫자 저장하기\n2. 짝수 제거하기\n3. 소수 제거하기\n"); | |||
printf("어느 명령을 수행할까요?"); | |||
scanf("%d", &num); | |||
printf("\n"); | |||
if (num==1) | |||
{ | |||
order_1(); | |||
printf("\n\n"); | |||
} | |||
else if (num==2) | |||
{ | |||
order_2(); | |||
printf("\n\n"); | |||
} | |||
else if (num==3) | |||
{ | |||
order_3(); | |||
printf("\n\n"); | |||
} | |||
} | |||
return 0; | |||
} | |||
void order_1() | |||
{ | |||
printf("숫자를 하나씩 입력하세요.\n"); | |||
for (i=count; i<100; i++) | |||
{ | |||
scanf("%d", &arr[i]); | |||
count++; | |||
if (arr[i]==0) | |||
{ | |||
count--; | |||
break; | |||
} | |||
} | |||
for (j=count-2; j>=0; j--) | |||
{ | |||
for (i=0; i<=j; i++) | |||
{ | |||
if(arr[i]>arr[i+1]) | |||
{ | |||
t=arr[i]; | |||
arr[i]=arr[i+1]; | |||
arr[i+1]=t; | |||
} | |||
} | |||
} | |||
for (i=0; i<count; i++) | |||
{ | |||
if(arr[i]==arr[i+1]) | |||
{ | |||
for (j=i; j<count; j++) | |||
{ | |||
arr[j]=arr[j+1]; | |||
} | |||
i--; | |||
count--; | |||
} | |||
} | |||
printf("저장된 수 : "); | |||
for (i=0; i<count; i++) | |||
{ | |||
printf("%d ", arr[i]); | |||
} | |||
} | |||
void order_2() | |||
{ | |||
printf("짝수를 제거합니다.\n"); | |||
for(i=0; i<count; i++) | |||
{ | |||
if(arr[i]%2==0) | |||
{ | |||
for (j=i; j<count; j++) | |||
{ | |||
arr[j]=arr[j+1]; | |||
} | |||
i--; | |||
count--; | |||
} | |||
} | |||
printf("저장된 수 : "); | |||
for (i=0; i<count; i++) | |||
{ | |||
printf("%d ", arr[i]); | |||
} | |||
} | |||
void order_3() | |||
{ | |||
printf("소수를 제거합니다.\n"); | |||
for(i=0; i<count; i++) | |||
{ | |||
t=0; | |||
if (arr[i]==1) | |||
{ | |||
//아무것도 안함 | |||
} | |||
else if (arr[i]==2) | |||
{ | |||
for (j=i; j<count; j++) | |||
{ | |||
arr[j]=arr[j+1]; | |||
} | |||
i--; | |||
count--; | |||
} | |||
else | |||
{ | |||
for(j=2; j<arr[i]; j++) | |||
{ | |||
if (arr[i]%j==0) | |||
t++; | |||
} | |||
if (t==0) | |||
{ | |||
for (j=i; j<count; j++) | |||
{ | |||
arr[j]=arr[j+1]; | |||
} | |||
i--; | |||
count--; | |||
} | |||
} | |||
} | |||
printf("저장된 수 : "); | |||
for (i=0; i<count; i++) | |||
{ | |||
printf("%d ", arr[i]); | |||
} | |||
} | |||
*/ | */ | ||
Latest revision as of 07:58, 2 June 2015
참여자 명단
| 강사 | 홍성현 | 14학번 | 출석 |
| 학생 | 장해민 | 15학번 | 출석 |
| 이한용 | 출석 |
수업
진행
- 장소 : 6층 PC실
- 시간 : 5월 27일 2시 ~ 3시(수요일)
내용
- 2차원 배열 사용법
실습 1차원 배열을 통한 실습(sort, 자유롭게 값을 넣고 빼기, 소수 구하기, 짝수 구하기 복합)
숙제
ppt로 올려준 내용 - 최대한 함수를 써라!
후기
- 욕심을 버리고 String이나 구조체 같이 진도를 더 나가지 않고 배열 사용법이라도 제대로 익혀서 보내기로 마음 먹었어요. - 홍성현
- 우왕 프로그래밍 재미땅 - 장해민
숙제제출
실습 때 완성 못한 내용 과제로 제출, 시험지 준 것 풀어오기, 평가표 작성
장해민
#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);
printf("\n");
if (game==4)
break;
else{
switch (game)
{
case 1: printf("Type numbers you want to add except 0(type 0 at the end)\n: ");
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("\nResult: ");
for (i=0; i<n; i++){
printf("%d ", a[i]);
}
if (n!=1)
printf("(%d numbers)\n\n", n);
else
printf("(one number)\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;
}
이한용
/*
#include<stdio.h>
int i, j, t, count=0, arr[100];
void order_1();
void order_2();
void order_3();
int main()
{
int num;
while (1)
{
printf("1. 숫자 저장하기\n2. 짝수 제거하기\n3. 소수 제거하기\n");
printf("어느 명령을 수행할까요?");
scanf("%d", &num);
printf("\n");
if (num==1)
{
order_1();
printf("\n\n");
}
else if (num==2)
{
order_2();
printf("\n\n");
}
else if (num==3)
{
order_3();
printf("\n\n");
}
}
return 0;
}
void order_1()
{
printf("숫자를 하나씩 입력하세요.\n");
for (i=count; i<100; i++)
{
scanf("%d", &arr[i]);
count++;
if (arr[i]==0)
{
count--;
break;
}
}
for (j=count-2; j>=0; j--)
{
for (i=0; i<=j; i++)
{
if(arr[i]>arr[i+1])
{
t=arr[i];
arr[i]=arr[i+1];
arr[i+1]=t;
}
}
}
for (i=0; i<count; i++)
{
if(arr[i]==arr[i+1])
{
for (j=i; j<count; j++)
{
arr[j]=arr[j+1];
}
i--;
count--;
}
}
printf("저장된 수 : ");
for (i=0; i<count; i++)
{
printf("%d ", arr[i]);
}
}
void order_2()
{
printf("짝수를 제거합니다.\n");
for(i=0; i<count; i++)
{
if(arr[i]%2==0)
{
for (j=i; j<count; j++)
{
arr[j]=arr[j+1];
}
i--;
count--;
}
}
printf("저장된 수 : ");
for (i=0; i<count; i++)
{
printf("%d ", arr[i]);
}
}
void order_3()
{
printf("소수를 제거합니다.\n");
for(i=0; i<count; i++)
{
t=0;
if (arr[i]==1)
{
//아무것도 안함
}
else if (arr[i]==2)
{
for (j=i; j<count; j++)
{
arr[j]=arr[j+1];
}
i--;
count--;
}
else
{
for(j=2; j<arr[i]; j++)
{
if (arr[i]%j==0)
t++;
}
if (t==0)
{
for (j=i; j<count; j++)
{
arr[j]=arr[j+1];
}
i--;
count--;
}
}
}
printf("저장된 수 : ");
for (i=0; i<count; i++)
{
printf("%d ", arr[i]);
}
}
*/