Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2012/AClass/5회차: Difference between revisions

From ZeroWiki
imported>jereneal20
No edit summary
imported>supia1990
No edit summary
Line 306: Line 306:


* 5X5배열을 우선 배정, 1,2,3,4,5를 우선 0행에 출력, 마지막 4행에 도달했을 때 4열 출력, 마지막 4행에 도달했을 때 4행 출력, 0행에 도달했을 때 (전체 행수-1)만큼 출력 ... 반복....
* 5X5배열을 우선 배정, 1,2,3,4,5를 우선 0행에 출력, 마지막 4행에 도달했을 때 4열 출력, 마지막 4행에 도달했을 때 4행 출력, 0행에 도달했을 때 (전체 행수-1)만큼 출력 ... 반복....
= 한송이 =
2.Swap함수 작성
int swap(int *a,int *b);
int main(void){
int a = 4;
int b = 6;
swap(&a,&b);
printf("%d %d",a,b);
return 0;
}
int swap(int *a,int *b){
int temp;
temp= *a;
*a = *b;
*b = temp;
return swap(a,b);
}
4.BinarySearch가 무엇인지 찾아보고, 가능하면 한번 구현해보도록 합시다.(가능하면!)
* 이진검색은 제어검색에서 가장 대표적인 방법이다.
* 한번 비교 동작이 끝난 후, 그 결과를 이용하여 다음에 비교할 대상(K<Ki)을 선택하는 방법으로 검색한다.
(K는 찾고자 하는 값, Ki는 중간 자료 값들)
* 주어진 파일들은 일정한 순서대로 배열된 상태에서 원하는 값을 검색하는 방법이다
* 이진탐색은 이미 데이터들이 정렬 된 상태 + 중복값이 없을 때 가능한 탐색방법이다.
만약  데이터들이 정렬이 되 있지만  중복값이 존재하면  중복된 값 중 하나만 찾으며,
정렬이 되있지 않은 데이터들을 이진탐색을 하면 데이터를 찾지 못한다.
  '''나머지는 진짜 너무 어려움 ''' 
= 도상희 =
= 황혜림 =



Revision as of 15:24, 10 June 2012

곽길문

1.koistudy 112-113

  1. include<stdio.h>

int main() { int r,e,c;

scanf("%d %d %d",&r,&e,&c);

if(r< e-c){ printf("advertise\n"); }else if(r>e-c){ printf("do not advertise\n"); }else if(r==e-c){ printf("does not matter\n"); } }


  1. include<stdio.h>
  2. include<math.h>

int main() { int a,b,c; double x1,x2;

scanf("%d %d %d", &a,&b,&c);
x1=(-b+sqrt(b*b-(4*a*c)))/(2*a);
x2=(-b-sqrt(b*b-(4*a*c)))/(2*a);
if(x1==x2){
printf("%g ",x1);
}else if(x1 !=x2){

if(x1>x2) printf("%g %g",x1,x2); else if(x1<x2)

              printf("%g %g",x2,x1);
}
return 0;

}

/*115-

  1. include<stdio.h>

int main(){ int a; int sum=0;

scanf("%d",&a);

for(;a >1;a--){ sum+=a; }


printf("%d",sum+1); return 0;

}

  • /

/* 116-

  1. include<stdio.h>

int main(){ int n,k; int i=1; int sum=0;

scanf("%d %d",&n,&k);

while(i<=n){ if(i%k ==0){ sum+=i; } i++; }

printf("%d",sum); return 0; }

  • /

/*119-

  1. include<stdio.h>

int main(){ int a; int count=0;

scanf("%d",&a);

a= a*2-1;


for(count=0;count < a;count++) printf("*");


return 0; }

  • /

/*120-

  1. include<stdio.h>

int main(){ int a; int i,j;

scanf("%d",&a);

for(i=0;i<a;i++){ for(j=0;j<i+1;j++){ printf("*"); }

printf("\n"); }

return 0;

}

  • /

/*121-

  1. include<stdio.h>

int main(){ int a; int i,j;

scanf("%d",&a);

for(i=0;i<a;i++){ for(j=0;j<i+1;j++){ printf("*"); }

printf("\n"); }

for(i=0;i<a;i++){ for(j=a;j>i+1;j--){ printf("*"); }

printf("\n"); }

return 0;

}

  • /


122-#include<stdio.h>

int main() {

int a; int i,j;


scanf("%d",&a); if(a!=1){ for(i=1;i<10;i++){ printf("%d*%d=%d\n",a,i,a*i); }

}else if(a==1){

for(i=1;i<10;i++){ for(j=2;j<10;j++){

printf("%d*%d=%d ",j,i,j*i);

} printf("\n"); } } return 0;

} 2.Swap함수 작성

--#include<stdio.h>

void swap(int *a,int *b); int main() {

char x='A',y='B';

printf("x= %c y=%c\n",x,y);

swap(&x,&y); printf("x=%c ,y=%c\n",x,y); return 0;


} void swap(int *a,int *b) {

int temp;
temp=*a;
  • a=*b;
  • b=temp;

}

  1. 3,4,6,7,9,3,2를 입력으로 넣은 후 2,3,9,7,6,4,3순서로 출력하는 프로그램을 작성해보세요.(스택)
  2. include<stdio.h>
  3. define MaxSize 7

int stackMaxSize;

int sp=0; int push(int); int pop(int *);

int main(){

int n=0; push(3); push(4); push(6); push(7); push(9); push(3); push(2); if (push(40) == -1) {

printf("Stack Overflow\n");

} pop(&n); printf("pop : %d\n",n);

pop(&n); printf("pop : %d\n",n);

pop(&n); printf("pop : %d\n",n); pop(&n); printf("pop : %d\n",n); pop(&n); printf("pop : %d\n",n); pop(&n); printf("pop : %d\n",n); pop(&n); printf("pop : %d\n",n);

if(pop(&n) == -1) { printf("Stack Underflow\n");

} return 0; }


int push(int n) { if(sp<MaxSize) { stack[sp]=n; sp++; return 0;

}else {

return -1;         // 가튀�득姨�찾£을≫때納�overflow

}

}

int pop(int *n) { if(sp>0) //값튕�이I 있O을≫ 때納� { sp--;

  • n=stack[sp];

return 0;

}else { return -1; //비촱었�을≫ 때納� underflow

} }


4.BinarySearch가 무엇인지 찾아보고, 가능하면 한번 구현해보도록 합시다.(가능하면!)

-이진 탐색은 제어검색에서 가장 대표적인 방법으로 한번 비교동작이 끝난 후 그 결과를 이용하여 다음에 비교할 대상을 선택하는 방법으로 검색한다. 주어진 파일들을 일정한 순서대로 배열된 상태에서 원하는 값을 검색하는 방법이다.

•아래와 같은 출력이 나오는 프로그램을 어떻게하면 짤 수 있는지 생각해서 써보도록 합시다. 그 방법이 확실하다고 생각되면 짜보아도 좋아요

1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9

  • 5X5배열을 우선 배정, 1,2,3,4,5를 우선 0행에 출력, 마지막 4행에 도달했을 때 4열 출력, 마지막 4행에 도달했을 때 4행 출력, 0행에 도달했을 때 (전체 행수-1)만큼 출력 ... 반복....


한송이

2.Swap함수 작성

int swap(int *a,int *b);

int main(void){
	int a = 4;
	int b = 6;
	
	swap(&a,&b);
	printf("%d %d",a,b);
	

	return 0;
}

int swap(int *a,int *b){
	int temp;

	temp= *a;
	*a = *b;
	*b = temp;

	return swap(a,b);
}

4.BinarySearch가 무엇인지 찾아보고, 가능하면 한번 구현해보도록 합시다.(가능하면!)

  • 이진검색은 제어검색에서 가장 대표적인 방법이다.
  • 한번 비교 동작이 끝난 후, 그 결과를 이용하여 다음에 비교할 대상(K<Ki)을 선택하는 방법으로 검색한다.
(K는 찾고자 하는 값, Ki는 중간 자료 값들)
  • 주어진 파일들은 일정한 순서대로 배열된 상태에서 원하는 값을 검색하는 방법이다
  • 이진탐색은 이미 데이터들이 정렬 된 상태 + 중복값이 없을 때 가능한 탐색방법이다.
만약  데이터들이 정렬이 되 있지만  중복값이 존재하면  중복된 값 중 하나만 찾으며,
정렬이 되있지 않은 데이터들을 이진탐색을 하면 데이터를 찾지 못한다.
 나머지는 진짜 너무 어려움   

도상희

황혜림