Presentation is loading. Please wait.

Presentation is loading. Please wait.

5장 배열 작성자 : 변재현.

Similar presentations


Presentation on theme: "5장 배열 작성자 : 변재현."— Presentation transcript:

1 5장 배열 작성자 : 변재현

2 배열이란? 배열은 동일한 자료형의 변수들을 여러 개를 묶어 놓은 형태 같은 자료형의 변수를 여러 개 선언 할 때 편리함
p.78 배열은 동일한 자료형의 변수들을 여러 개를 묶어 놓은 형태 같은 자료형의 변수를 여러 개 선언 할 때 편리함 하나하나의 기억장소를 배열의 요소라고 함 하나의 이름을 사용하기에 첨자를 사용해서 구분 1차원 배열,2차원 배열이 있음. 배열 이름[5] 배열[0] 배열[1] 배열[2] 배열[3] 배열[4] 배열[5]

3 배열의 선언 자료형 배열명[요소 개수]; 자료형 배열명[요소 개수] [요소 개수];
1차원 배열 자료형 배열명[요소 개수]; 2차원 배열 자료형 배열명[요소 개수] [요소 개수]; 사용할 종류의 자료형의 명시 그 뒤에 배열의 이름을 명시한다. 여기까지는 일반 변수의 선언과 동일. [] 각괄호 안에 필요한 변수의 개수를 명시해 주면 그 개수만큼의 메모리 방이 생성이 된다.

4 다차원 배열 1차원 배열은 메모리의 방이 연속적으로 나열되어 있는 것을 말한다.
2차원 배열이상의 배열을 다차원 배열이라고 하며 다차원 배열은 서로의 방에 메모리의 주소를 기억시켜 간접접근을 하는 방법으로 메모리에 값을 저장하고 불러온다.

5 다차원 배열의 구조 1차원 배열 배열명[0] 배열명[1] 배열명[2] 배열명[0][0] 배열명[0][1]
배열명[0] 배열명[1] 배열명[2] 배열명[0][0] 배열명[0][1] 배열명[2][0] 배열명[2][1] 2차원 배열 배열명[0] 배열명[1] 배열명[2] 배열명[1][0] 배열명[1][1]

6 예제(5-1) #include<iostream> #include<iomanip>
using namespace std; int main(){ int I,Num[10]; //정수형 배열 선언 for(i=0;i<10;i++) Num[i]=0; cout<<“배열요소”<<setw(13)<<“데이터”<<en dl; cout<<setw(7)<<i<<setw(13)<<Num[i]<<en dl; return 0; }

7 예제(5-2) Using namespace std; int main(){
int Num[10]={32,27,64,18,95,14,90,70,60,37}; cout<<“배열요소”<<setw(13)<<“데이터”<<en dl; for(int i = 0;i<10;i++) cout<<setw(7)<<i<<setw(13)<<Num[i]<<en dl; return 0; }

8 배열의 초기화 int A_DATA[3]={1,2,3}; int B_DATA[5]={1,2,3};//나머지는 0으로 초기화
char C_DATA[10]={‘A’,’B’,’C’}//나머지는 \n으로 자동 초기화 char D_DATA[7]={“string”}//문자6개\n문자한개로 포함하여 7개 요소가 됨. char E_DATA[]=“I am a boy”;//요소의 개수는 11개 첨자가 생략된 경우 초기화 개수만큼 요소의 개수가 정해짐 int F_DATA[10]={0}//전부 0으로 초기화

9 예제(5-3) int main(){ const int Arraysize = 12;
int DATA[Arraysize] = {1,3,5,4,7,2,99,16,45,67,89,45); int Total = 0; for(int i=0;i<ArraySize;i++) Total+=DATA[i]; cout<<“배열 요소들의 총합 : “<<Total<<en dl; return 0; }

10 예제(5-4) int main(){ const int ArraySize = 10;
int DATA[ArraySize] = {19,3,15,7,11,9,13,5,17,1}; cout<<“배열요소”<<setw(13)<<“데이터”<<setw(17)<<“히스토그램”<<en dl; for(int i =0; i<ArraySize;i++){ cout<<setw(7)<<i<<setw(13)<<DATA[i]<<setw(9); for(int j=0;j<DATA[i];j++) cout<<‘*’; cout<<en dl; } return 0;

11 쉬어가는 문제1 길이가 9인 int형 정수 배열을 선언하고 나서 사용자로부터 숫자를 하나 입력받는다. 그리고 입력 받은 숫자의 구구단 계산결과를 미리 선언해 놓은 배열에 저장한다. 마지막으로 배열의 요소 중에서 짝수 번째 위치에 존재하는 요소들을 출력하는 프로그램을 작성하자. 참고로 짝수번째 위치에 존재하는 배열의 요소를 출력하려면 홀수를 인덱스 값으로 사용해야 할 것이다. 정말 쉬어가는 문제죠옹~ 출처 : (구)열혈강의 C프로그래밍 - 윤성우

12 변재가 짠 답안 int main(){ int jungsu[9]; int su; cout<<“정수를 입력하세요”;
cin>>su; for(int i=0;i<9;i++){ jungsu[i] = su*(i+1); } for(int i=1;i<9;i+=2){ cout<<su<<“*”<<i+1<<“=“<<jungsu[i]<<en dl;

13 출처의 답 int main(){ int arr[9]; int n; 이 코드는 C코드를 C++로
cout<<“정수 입력 : “; cin>>n; for(int i=1;i<10;i++) arr[i-1]=n*i; for(int i=0;i<9;i++){ if(i%2==1) cout<<arr[i]; } cout<<en dl; return 0; 이 코드는 C코드를 C++로 고쳐서 작성한 코드입니다.

14 예제(5-5) void Bar() { cout<<“----------------”<<en dl;}
int main(){ int Number[10]={0},integer; cout<<“0~99값 입력(그 외의 값이면 종료 : “<<en dl; cin>>integer; while(0<=integer && integer<=99){ ++Numer[integer/10]; } Bar(); cout<<“***숫자 출현 빈도수**”<<en dl; for(int i =0;i<10;i++) cout<<setw(3)<<i*10<<“~”<<setw(3)<<(i+1)*10-1<<“ : “<<setw(3) <<Number[i]<<en dl; return 0;

15 예제(5-6) Double Average(int nums[],int size){ double average=0;
for(register i=0;i<size;++i) average +=num[i]; return average/size; } int main(){ int Data[3]; Data[0]=10; Data[1] = 20; Data[2] = 30; cout<<Average(Data,3)<<‘\n’; return 0;

16 예제(5-7)


Download ppt "5장 배열 작성자 : 변재현."

Similar presentations


Ads by Google