int값의 STL vector를 받아 배열내의 모든 홀수를 출력하는 C++ 함수 작성
#include "stdio.h"
#include //vector include
void main()
{
std::vector intList;// vector 변수 선언
intList.clear();// 변수 초기화 안해줘도 되지만 변수는 초기화 해주는 습관을...
char szInput[1024] = { 0, };// 입력을 받을 버퍼, 종료 문자를 입력 받기 위해서 문자열로 선언
printf("Input Number(Quit is q) : ");
scanf("%s", szInput);
while(strcmp(szInput, "q") != 0)// q가 들어오면 종료
{
int nNumber = atoi(szInput);// 들어온 문자열을 int로 변환
intList.push_back(nNumber);// vector에 삽입
printf("Input Number(Quit is q) : ");
scanf("%s", szInput);
}
for(int i = 0; i < intList.size(); i++)// vector의 접근은 일반 배열의 접근 방식이 가능하므로
{
int nNumber = intList[i];// 삽입 되어있는 값 얻기
if((nNumber % 2) != 0)// 홀수 인지 판별
printf("%d ", nNumber);
}
intList.clear();// vector의 사용을 마쳤으므로 다시 초기화
printf("\n");
}
(출처 : 'int값의 STL vector를 받아 배열내의 모든 홀수를 출력하는 C++ 함수 작성' - 네이버 지식iN
[출처] stl vector 사용법|작성자 바들바들
// STL vector의 간단한 사용법
// STL에서의 벡터(vector)는 동적 배열이다
// vector를 사용하기 위한 해더파일 인클루드
#include <vector>
using namespace std;
// 선언
// int 타입으로 선언되었기 때문에 4바이트가 메모리에 할당 된 것 처럼 보일 수 있으나
// 실제로는 크기가 0인 즉, 비어있는 배열이 선언된 것이다
vector<int> list;
// list란 동적배열에 데이터 5를 추가함
// push_back 함수의 인자는 반드시 선언된 타입과 같아야한다
// 여기서는 정수(int)타입의 5를 넘겨주었다
list.push_back(5);
// iterator(반복자)를 생성
// iterator는 객체의 포인터형이다
// iterator에 객체의 첫 원소의 주소를 넘겨준다
// iterator 역시 선언한 타입과 반드시 동일한 타입으로 선언해야한다
// list와 동일한 타입의 interator를 생성
vector<int>::iterator i;
// i(interator)에 list의 첫 원소의 주소를 넘겨줌
// i가 list의 마지막 원소의 주소와 같지 않다면 루프
// i(interator) 증가(즉, 다음 list의 주소로 넘어감)
for(i = list.begin(); i != list.end(); i++)
{
// i(interator)가 가르키는 list의 현재 배열 값을 출력
printf("%d\n", *i);
}
// 원소 삭제
vector<int>::iterator i;
for(i = list.begin(); i != list.end(); i++)
{
// i(interator)가 가르키는 list의 현재 배열 값을 지운다
// erase 함수를 사용하여 원소를 삭제할 수 있다
list.erase(i);
}
'프로그래밍 > VC++ 개발 코딩' 카테고리의 다른 글
type casting (cast) (0) | 2014.01.17 |
---|---|
Enum과 bit연산 (0) | 2014.01.17 |
ActiveX(*.ocx)로 ocx Component 만들기 (0) | 2014.01.17 |
실제 윈도우 메시지 보내기 (0) | 2014.01.17 |
클래스 초기화 하기 (0) | 2014.01.17 |