간단한 C 소스와 예제 설명
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1.10개의 크기를 가지는 배열을 선언한후, 랜덤한 정수값으로 각각을 초기화하고, 배열의 전체 값들의 합을 구하는 프로그램을 작성.

2. 1주일의 각 요일을 출력하는 프로그램을 포인터 배열을 사용하여 작성.

3. 배열이나 포인터를 사용해 작성.

4. 여백으로 단어를 구분하는 경우, 문자열 속에 있는 단어의 수를 계산하는 프로그램을 작성.
단, 포인터를 사용해 작성할 것.

5. 입력받은 수들을 크기순으로 정렬하는 프로그램을 작성.

6. 100개의 수들이 있는 배열에서 입력받은 수가 있는 지를 검색하는 프로그램을 작성.
배열의 전체값을 비교하지 말고 검색 알고리즘을 사용해 찾을 것.

본문내용

것을 표시했다. 그렇게 완성된 한 줄의 문자열을 출력하고 난 다음 다시 처음 가르켰던 주소를 다시 가르키게 하고 이번에는 대문자 B서부터 Z까지 대입하도록 했다.
프로그램 실행 결과
< 배열을 이용한 방법 >
알파벳으로 초기화한 문자형 배열의 첫 번째 요소부터 끝까지 출력하고 다음줄에서 두 번째 요소부터 끝까지 출력하고 그 다음 줄에서는 그 다음 요소부터 끝까지 출력하는 것을 반복한다.
4. 여백으로 단어를 구분하는 경우, 문자열 속에 있는 단어의 수를 계산하는 프로그램을 작성.
단, 포인터를 사용해 작성할 것.
입력 : 문자열
출력 : 문자열 속의 단어의 수
문자열의 주소를 받아주는 포인터 변수에 문자열을 입력받는다. 그 문자열의 길이를 구해내어서 for문에서 그 길이만큼 돌리면서 각각의 배열의 요소들을 검색한다. 요소중에 여백이 있을 경우 0으로 초기화된 total이라는 변수를 1씩 증가 시켜서 단어의 수를 나타내도록 했다. 출력시에는 total에 1만큼 더 증가한 수를 출력하는데 처음 입력을 시작할 때 빈칸을 만들어놓고 시작하지 않는한 처음 빈칸나오기전 입력된 단어의 수가 무시될수 있기 때문이다.
프로그램 실행 결과
5. 입력받은 수들을 크기순으로 정렬하는 프로그램을 작성.
입력 : 일정 개수의 수
출력 : 크기순으로 정렬된 수
ex> 입력 : 3, 8, 5, 9, 2
출력 : 2, 3, 5, 8, 9
프로그램 실행 결과
정수들의 정열을 위해서 qsort라는 함수를 사용했다. 그리고 이 함수를 사용하기 위해서 stdlib.h라는 헤더파일을 포함했다. 이 함수는 배열을 순서대로 정열하는데, 보통 결과는 오름차순이 된다. 이 프로그램에서는 20개의 정수값들을 입력 받아서 그 값들을 정렬하고 출력하고 있다. 함수qsort를 호출하기위해 사용한 첫 번째 인수는 배열의 첫 번째요소에 대한 포인터이고 배열의 요소의 개수인 MAX만큼이 뒤따라 나온다. 다음으로 첫 번째 요소의 크기가 주어지므로 qsort는 각 항목의 폭을 알 수 있다. 호출은 정렬 함수에 대한 인수, intcmp함수로 끝난다.
함수 intcmp는 자신에게 전달된 두 개의 값을 차이를 반환하는데, 요소들이 값다면 0이 반환되어야 하고, 요소1이 요소2보다 크다면, 양의 값이 반환되어야 한다. 요소1이 요소2보다 작다면, 음의 값이 반환된다.
6. 100개의 수들이 있는 배열에서 입력받은 수가 있는 지를 검색하는 프로그램을 작성.
배열의 전체값을 비교하지 말고 검색 알고리즘을 사용해 찾을 것.
입력 : 임의의 수
출력 : 입력한 수가 배열에 있는 검사해 출력
ex> 입력 : 256
출력 : YES! 256 is in array. (or NO!! 256 is not in array.)
이 프로그램에서는 데이터 배열의 이진 검색을 수행하기 위해서 bsearch라는 함수를 사용했다. 이 함수를 사용하기 위해서는 배열이 오름차순으로 정렬이 되어있어야 하기 때문에 이 프로그램에서도 qsort라는 함수를 사용했고, 프로그램이 bsearch를 사용하기 위해서는 데이터 항목을 다른 데이터 항목과 비교해서 큰지, 작은지, 또는 같은지를 결정하는 비교함수를 제공해주어야 한다. 이 함수의 알고리즘의 동작방식은 배열의 중간에 있는 요소와 비교되고, 일치하면 검색은 종료된다. 일치하지 않을 경우, 키는 그 배열 요소에 비해 작거나 크다. 배열의 요소보다 작다면, 일치하는 요소(존재할 경우)는 그 배열의 전반부에 있을 것이다. 마찬가지로 배열의 요소보다 크다면, 일치하는 요소는 그 배열의 후반부에 있을 것이다. 검색은 배열에서 전반부나 후반부로 제한이 되고, 그 다음 알고리즘은 다시 처음 단계로 되돌아간다.
이진 검색이 수행하는 각 비교는 검색되는 배열의 절반을 제외시킨다. 예를 들어 1000개의 요소를 가진 배열은 10번의 비교를 하면 검색이 완료되고, 16000개의 요소를 가진 배열이라하더라도 14번의 비교만 하면 된다. 일반적으로 이진 검색은 2n개의 요소를 가진 배열을 검색하는데 n번의 비교만 하면된다.
프로그램이 실행되면, 100개의 정수형 배열의 각각의 요소에 1000미만의 랜덤한 정수값을 대입한다.
bsearch함수를 사용하기 위해 먼저 qsort함수를 이용 배열을 오름차순으로 정렬하고 검색하고자 하는 정수형 값을 입력받는다. 그리고나서 준비된 인자들을 이용해서 bsearch함수를 호출해서 검색한 정수값이 배열이 있다면 있다는 메시지를 없다면 없다는 메시지를 출력하고 종료한다.
프로그램 실행 결과

키워드

  • 가격1,300
  • 페이지수9페이지
  • 등록일2001.08.08
  • 저작시기2001.08
  • 파일형식한글(hwp)
  • 자료번호#190149
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니