변수에는 간단한 변수(방 하나짜리 변수. 예:int, char), 배열(같은 방 여러 개를 갖는 변수), struct(크기가 다른 방 여러 개를 갖는 변수), pointer(주소가 들어갈 수 있는 방 하나짜리 변수) 등 4가지 종류가 있다. 이 각각의 자료구조에 대해
- 선언하는 법
- 선언의 효과
- 각 방의 이름
- 각 방에 데이타 넣기
- 각 방의 데이타 출력
등에 대해 알고 있어야 한다.
기본모양
- 선언하는 법 int z[10];
- 선언의 효과 정수를 담을 수 있는 방 10개가 생긴다.
- 각 방의 이름 각 방은 z[0], z[1], ...., z[9]. 전체는 z
- 각 방에 데이타 넣기 z[0]=3; z[1]= 5; ..........
- 각 방의 데이타 출력 cout << z[0]; cout << z[1]; .........
int z[5]; // 방 10개 짜리 변수의 실제 선언 모양. 선언하는 법.
데이터 타입: integer (즉 각 방의 크기는 4 바이트)
변수 이름 : z
방수 : 5 // 선언의 효과. 6개의 방이 생긴다.
각 방의 이름: z[0], z[1], z[2], ...., z[5] // 각 방의 이름.
z[0] | z[1] | z[2] | z[3] | z[4] | z[5] |
*NULL 문자(아스키 코드 =0)로 끝나는 문자열을 스트링이라고 부른다.
'k' | 'o' | 'r' | 'e' | 'a' | 0 |
ex)
----------------------------------------
#include <iostream>
using namespace std;
int main()
{
int i;
char y[10]; // 방 10개짜리 문자 배열 선언
y[0]='k';
y[1]='o';
y[2]='r';
y[3]='e';
y[4]='a';
y[5]=0; // y를 스트링으로 만들기 위해 NULL 문자 삽입. 이제 y에 "korea"가 들어있다고 말한다.
cout<<y[0]<<endl; //0 번째 방의 값 출력
for(i=0;i<6;i++)
cout<<y[i]; //5번째 방긔 값까지 모두 출력
}
2차원 배열.
int x[5][5]; // 2차원 방 배열
0,0 | 0,1 | 0,2 | 0,3 | 0,4 | 0,5 |
1,0 | ... | ||||
... | |||||
... | |||||
4,5 | |||||
. | 5,4 | 5,5 |
숙제.
1. 2차 배열에서 row 별/column 별 sum구하기
-rand 사용해서 임의값을 배열에 대입
숙제답안.
1.
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
int x[6][6]; //배열[5][5]만 필요하지만 널값을 넣어야하므로 [6][6]
int a,b,rowsum[6],colsum[6];//위와 동일한 이유
for(a=0;a<6;a++)
for(b=0;b<6;b++)
x[a][b]=rand()%10+1; // 10안에 임의의수를 배열에 대입
for(a=0;a<6;a++)
{for(b=0;b<6;b++)
printf("%d\t",x[a][b]);
cout<<endl;
}
cout<<"-------------------------------------------"<<endl;
for(a=0;a<6;a++)
rowsum[a]=0;//sum의 초기값을 정해줌
for(a=0;a<6;a++)//row별 sum
{for(b=0;b<6;b++)
rowsum[a]=rowsum[a]+x[a][b];
}
for(a=0;a<6;a++)
cout<<"rowsum["<<a<<"](가로)의 합:"<<rowsum[a]<<endl;
cout<<"-------------------------------------------"<<endl;
for(a=0;a<6;a++)
colsum[a]=0;//sum의 초기값을 정해줌
for(a=0;a<6;a++)//col별 sum
{for(b=0;b<6;b++)
colsum[a]=colsum[a]+x[b][a];
}
for(a=0;a<6;a++)
cout<<"colsum["<<a<<"](세로)의 합:"<<colsum[a]<<endl;
출처: 인하대 학생
수정:http://first-reverse.tistory.com/
'프로그래밍 > C++' 카테고리의 다른 글
기초중기초(함수) (0) | 2011.01.04 |
---|---|
기초중기초(구조체 struct) (0) | 2011.01.03 |
기초중기초(반복문 for) (0) | 2011.01.03 |
기초중기초(반복문 while) (0) | 2010.12.27 |
기초중기초(조건문 if) (0) | 2010.11.20 |