게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.

Slides:



Advertisements
Similar presentations
제6장 조건문.
Advertisements

2007 1학기 12 배열.
데이터의 표현과 연산 (1) (Chapter 3)
슬라이드 1~21까지는 각자 복습! 슬라이드 22부터는 수업시간에 복습
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
에서 ( 탭 – [인기 다운로드 | 모든 다운로드] ) Visual Studio 2015
C 프로그래밍.
C 6장. 함수 #include <stdio.h> int main(void) { int num;
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
C 11장. 포인터의 활용 #include <stdio.h> int main(void) { int num;
C언어: 배열 (Arrays).
6장. printf와 scanf 함수에 대한 고찰
Chapter 13 문자 데이터와 문자열 문자 데이터 문자열.
7. while 문의 흐름 제어.
8장 포인터.
쉽게 풀어쓴 C언어 Express 제17장 동적 메모리와 연결 리스트 C Express.
동적메모리와 연결리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
C 7장. 배열과 문자열 #include <stdio.h> int main(void) { int num;
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
C 프로그래밍.
7장 배열 배열의 정의 배열의 초기화 1차원 배열 2차원 및 다차원 배열 문자 배열 배열과 구조.
10장 포인터와 문자열 포인터 기본 배열과 포인터 매개변수 전달방법 포인터와 문자열.
표준 출력 함수 printf 출력 데이터 서식화(formatting) 표준 입력 함수 scanf 입력 데이터 서식화
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Chapter 06. 선택문.
프로그래밍2 및 실습 C언어 기반의 C++ 2.
11장. 1차원 배열.
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
13. 포인터와 배열! 함께 이해하기.
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
개정판 누구나 즐기는 C언어 콘서트 제6장 반복문 출처: pixabay.
C언어 프로그래밍의 이해 Ch13. 선행처리기와 주석문.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 11. 1차원 배열.
11장. 1차원 배열 IT응용시스템공학과 김 형 진 교수.
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
CHAP 2:순환.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
Chapter 11. 배열과 포인터.
Chapter 05. 입출력 함수.
실습과제 1(조건문, ) 표준입력으로 수축기 혈압을 입력 받아 그에 따른 적당한 표현을 화면에 출력하는 프로그램을 if-else 문을 이용하여 작성.
제 3장 데이터형과 연산자 Hello!! C 언어 강성호 김학배 최우영.
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
-Part2- 제1장 1차원 배열이란 무엇인가.
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
C89(C++03) 프로그래밍 (Part 2) 7 배열 8 변수 범위 9 포인터 10 유도 자료형.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
18장. 다차원 배열 그리고 포인터.
-Part1- 제8장 조건문이란 무엇인가 (교재 199페이지 ~ 224페이지)
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
컴퓨터 프로그램은 여러 기능의 복합체이다. 라이브러리 함수와 사용자 정의 함수
-Part2- 제2장 다차원 배열이란 무엇인가.
반복문의 기능 반복문 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 while문
컴퓨터 프로그래밍 기초 #13 : 문자열 Seong-Yun Choi
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
어서와 C언어는 처음이지 제16장.
개정판 누구나 즐기는 C언어 콘서트 제10장 문자열 출처: pixabay.
C 13장. 입출력 라이브러리 #include <stdio.h> int main(void) { int num;
17장. 포인터의 포인터.
C.
C 프로그래밍은 매우 도전적인 작업이다. 도전의 이면에 철저한 준비와 체계적인 노력
Chapter 09. 배열.
3b장 구조체와 열거형 구조체의 정의 구조체 변수의 선언 구조체 초기화 및 사용 구조체 재정의 포인터를 이용해서 구조체 사용
배열.
11장. 1차원 배열.
Presentation transcript:

게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일

배열이란 무엇인가? 같이 생각해 볼 문제: 10명의 성적 처리 프로그램을 작성하라. 10명의 성적은 국어/영어/수학 별로 주어진다고 가정하자. 석차를 계산하기 위해서는 총점/평균을 계산하고, 총점/평균 순으로 정렬하면 됨. #include <stdio.h> void main( ) { int kor0, kor1, kor2, … kor9; int eng0, eng1, eng2, … eng9; int math0, …; int total0, total1, total2, … total9; int avg0, avg1, … avg9; total0 = kor0+eng0+math0; avg0 = total0 / 3; total1 = kor1+eng1+math1; avg1 = total1 / 3; … } 성적을 저장할 변수를 어떻게 선언할 것인가? 만일 100사람의 성적을 처리한다면 ? 이 프로그램을 쉽게 작성하려면 ?  배열을 이용한다!!

배열이란 무엇인가? 배열을 이용하여 프로그램을 작성하면 ? 프로그램이 간결해지고, 확장이 용이해진다 ! #include <stdio.h> void main( ) { int kor[10]; int eng[10]; int math[10]; int total[10], avg[10]; int i; for (i=0; i<10; i++) { total[i] = kor[i]+eng[i]+math[i]; avg[i] = total[i]/3; } … 프로그램이 간결해지고, 확장이 용이해진다 ! 반복문을 이용하여 효율적으로처리할 수 있다 !  배열이 유용함!!

배열이란 무엇인가? 둘 이상의 변수를 동시에 선언하는 효과를 지닌다. 많은 양의 데이터를 일괄적으로 처리해야 하는 경우에 유용하다. 지역적 특성을 지닐 수도 있고, 전역적 특성을 지닐 수도 있다.

1차원 배열의 선언 및 초기화 배열 선언에 있어서 필요한 것 세 가지 배열 길이 : 배열을 구성하는 변수의 개수 (반드시 상수를 사용) 배열 요소 자료형 : 배열을 구성하는 변수의 자료형 배열 이름 : 배열에 접근할 때 사용되는 이름

1차원 배열의 선언 및 초기화 1차원 배열의 접근 배열 요소의 위치를 표현 : 인덱스(index) 인덱스는 0에서부터 시작

배열 선언과 접근의 예 1차원 배열의 선언 및 초기화 int main(void) { int array[10]; // 배열 선언 . . . . . return 0; }

1차원 배열의 선언 및 초기화 /* array1.c */ #include <stdio.h> int main(void) { double total; double val[5]; val[0]=1.01; val[1]=2.02; val[2]=3.03; val[3]=4.04; val[4]=5.05; total=val[0]+val[1]+val[2]+val[3]+val[4]; printf("평균 : %lf \n", total/5); return 0; }

선언과 동시에 초기화 1차원 배열의 선언 및 초기화 int main(void) { int arr1[5]={1, 2, 3, 4, 5}; int arr2[ ]={1, 3, 5, 7, 9}; int arr3[5]={1, 2} }

1차원 배열의 선언 및 초기화

문자열 상수 문자열 변수 배열 기반 문자열 변수 문자열이면서 상수의 특징을 지닌다. 문자열이면서 변수의 특징을 지닌다. printf("Hello World! \n"); char str1[5]="Good"; char str2[]="morning";

배열 기반 문자열 변수 /* ar_str.c */ #include <stdio.h> int main(void) { char str1[5]="Good"; char str2[]="morning"; printf("%s \n", str1); printf("%s %s \n ", str1, str2); return 0; }

배열 기반 문자열 변수 #include <stdio.h> void main() { char *strchar = "Good"; char strarry[] = "Good"; printf("%s \n", strchar); printf("%s \n", strarry); }

문자열의 특징 배열 기반 문자열 변수 문자열은 널(null)문자를 끝에 지닌다. int main(void) { char str[6]="Hello"; printf("Hello"); . . . . .

널(null) 문자를 지녀야 하는 이유 배열 기반 문자열 변수 문자열의 끝을 표현하기 위해서 쓰레기 값과 실제 문자열의 경계를 나타내기 위해 printf 함수는 널 문자를 통해서 출력의 범위를 결정 짓는다. int main(void) { char str[100]=”Hello World!”; printf(“%s \n”, str); . . . . .

배열 기반 문자열 변수 /* va_str.c */ #include <stdio.h> int main(void) { int i; char ch; char str[6]="Hello"; printf("--변경 전 문자열--\n"); printf("%s \n", str); for(i=0; i<6; i++) printf("%c | ", str[i]); /* 문자열 변경 */ for(i=0; i<3; i++) ch=str[4-i]; str[4-i]=str[i]; str[i]=ch; } printf("\n\n--변경 후 문자열--\n"); return 0;

#실습 1 20명의 학생의 성적을 입력 받은 후 다음을 계산하는 프로그램을 작성하라. int student[20] = {10, 20, 30, 40, 23, 43, 55, 23, 54, 33, 90, 34, 77, 85, 56, 48, 98, 45, 67, 32}; 총점을 계산한 후 출력함. 평균을 계산한 후 출력함. 분산을 계산한 후 출력함. 분산 공식은 인터넷을 이용

#실습 2 20명의 학생의 성적을 입력 받은 후 성적이 높은 순으로 점수를 출력하시오. int student[20] = {10, 20, 30, 40, 23, 43, 55, 23, 54, 33, 90, 34, 77, 85, 56, 48, 98, 45, 67, 32}; 반대로 성적이 낮은 순으로 출력하시오.

#과제 프로그램 작성 키보드로 아무런 문자를 입력후 이중 0~9 사이의 숫자형 문자가 몇 번 입력되었는가를 출력하는 프로그램을 작성하라 (Enter 키를 누르면 끝낸다) 버블 정렬 알고리즘을 조사하여 설명한 후, 10명의 성적을 입력 받아 1차원 배열에 저장한 후, 버블 정렬 하는 프로그램을 작성하라. 그외 정렬 알고리즘에 대하여 최소한 2가지 이상 조사하시오.