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

+ Recent posts