한 벡터에서 다른 벡터로 문자 이동 C ++

폴리 돌리

저는 C ++를 처음 사용합니다. 라는 파일을 읽고 symbols.txt벡터를 기호로 채운 다음 범위에있는 문자를 가져 와서 [d;p]첫 번째 벡터에서 지우면서 두 번째 벡터로 이동 하는 프로그램을 만들려고합니다 .

int main(){
    vector<char> sym1;
    vector<char> sym2;
    int p = 100, d = 80;
    char x;
    ifstream symbols("symbols.txt");
    while (symbols >> x )
    {
        sym1.push_back(x);
    }
    for(int i = 0; i < sym1.size(); i++){
        if (sym1[i] < p && sym1[i] > d){
            sym2.push_back(sym1[i]);
            sym1.erase(sym1.begin()+i);
        }
    }
}

이렇게하면 동일한 문자가 없으면 프로그램이 작동하고 그렇지 않으면 문자의 절반 만 이동하고 나머지 절반은 그대로 둡니다.

kswang

구현에서, 당신은 통지에 가장 먼저해야 할 것은 당신의 것입니다 for루프, sym1.size()당신이 호출하면 변경 sym1.erase(). 둘째, 변수가 i매번 증가 하기 때문에 벡터의 일부 요소를 건너 뜁니다.

예를 들어 인덱스 5의 요소가 지워지면 인덱스 6의 요소가 아래로 이동하여이를 대체합니다. 그 동안 루프는 i++하므로 인덱스 5로 이동 한 요소를 건너 뜁니다.

C ++ 컨테이너와 함께 반복기를 사용해야한다고 생각합니다. 아래는 예입니다.

#include <iostream>
#include <vector>

using namespace std;

int main() {
    vector<char> sym1;
    vector<char> sym2;
    int p = 100, d = 80;
    char x;
    // ifstream symbols("symbols.txt");
    // while (symbols >> x)
    // {
    //     sym1.push_back(x);
    // }
    for(int i = 0; i < 200; i++) {
        sym1.push_back(i);
    }
    int size = sym1.size();
    for(vector<char>::iterator it = sym1.begin(); it != sym1.end(); ){
        if (*it < p && *it > d){
            sym2.push_back(*it);
            it = sym1.erase(it);
        }
        else
            it++;
    }
    for(vector<char>::iterator it = sym2.begin(); it != sym2.end(); it++) {
        cout << (int)*it << " ";
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++에서 문자열 및 다른 벡터 데이터 유형의 맵 반환

분류에서Dev

벡터의 문자 만 C ++의 다른 벡터로 복사

분류에서Dev

서로 다른 벡터 R 사이에서 동일한 시간에 작업

분류에서Dev

벡터 문자열 push_back이 C ++에서 작동하지 않습니다.

분류에서Dev

데이터 프레임에서 얻은 명명 된 문자형 벡터를 단일 벡터로 병합하고 고유 한 값을 얻습니다.

분류에서Dev

한 벡터에서 다른 벡터로 항목 복사

분류에서Dev

한 벡터에서 다른 벡터로 행렬 (제자리에 없음) 회전 시도

분류에서Dev

한 벡터에서 다른 벡터의 값 사이에있는 값 찾기

분류에서Dev

R은 벡터에서 동일한 문자의 부분을 계산합니다.

분류에서Dev

R은 벡터에서 동일한 문자의 부분을 계산합니다.

분류에서Dev

R이있는 다른 벡터에서 한 벡터의 요소 위치

분류에서Dev

C ++에서 벡터 (또는 다른 유사한 데이터 유형)에 대한 사용자 반복 클래스를 작성할 수 있습니까?

분류에서Dev

다른 데이터 프레임을 기반으로 한 변수에서 다른 변수로 숫자 형 벡터의 names () 변경

분류에서Dev

동일한 벡터 조합에 대해 서로 다른 상관 값 얻기

분류에서Dev

동일한 벡터 조합에 대해 서로 다른 상관 값 얻기

분류에서Dev

파일에서 한 줄씩 읽고 C ++에서 많은 int를 벡터로 구문 분석합니다.

분류에서Dev

동일한 벡터에서 가장 가까운 다른 값

분류에서Dev

벡터를 이동하여 다른 벡터에 추가 (C ++ 11 이전)

분류에서Dev

C ++ : 인수 유형이 다른 함수에 대한 함수 포인터 벡터

분류에서Dev

자체가 아닌 동일한 벡터의 다른 요소에 벡터 요소 할당 (Secret Santa 알고리즘)

분류에서Dev

OpenCV를 사용하여 벡터의 벡터 구조를 C ++에서 다른 벡터로 복사하는 방법

분류에서Dev

다른 문자열 벡터에서 문자열의 모든 인스턴스에 대한 문자열 벡터 검색

분류에서Dev

기본 생성자없이 벡터에서 다른 데이터로 데이터 변환

분류에서Dev

C ++ 지우기를 호출 한 후 문자열 벡터의 내용을 위로 이동하는 방법

분류에서Dev

r의 다른 벡터에서 한 벡터를 빼는 방법

분류에서Dev

C ++ 동일한 데이터에서 작동하는 하위 벡터 생성

분류에서Dev

std :: 한 벡터를 다른 벡터로 이동, 주소는 업데이트되지 않음

분류에서Dev

C # UWP의 한 xaml에서 다른 xaml로 데이터 이동

분류에서Dev

다른 화면 해상도에서 벡터 xml 드로어 블 파일에 대한 Android 앱 레이아웃 문제

Related 관련 기사

  1. 1

    C ++에서 문자열 및 다른 벡터 데이터 유형의 맵 반환

  2. 2

    벡터의 문자 만 C ++의 다른 벡터로 복사

  3. 3

    서로 다른 벡터 R 사이에서 동일한 시간에 작업

  4. 4

    벡터 문자열 push_back이 C ++에서 작동하지 않습니다.

  5. 5

    데이터 프레임에서 얻은 명명 된 문자형 벡터를 단일 벡터로 병합하고 고유 한 값을 얻습니다.

  6. 6

    한 벡터에서 다른 벡터로 항목 복사

  7. 7

    한 벡터에서 다른 벡터로 행렬 (제자리에 없음) 회전 시도

  8. 8

    한 벡터에서 다른 벡터의 값 사이에있는 값 찾기

  9. 9

    R은 벡터에서 동일한 문자의 부분을 계산합니다.

  10. 10

    R은 벡터에서 동일한 문자의 부분을 계산합니다.

  11. 11

    R이있는 다른 벡터에서 한 벡터의 요소 위치

  12. 12

    C ++에서 벡터 (또는 다른 유사한 데이터 유형)에 대한 사용자 반복 클래스를 작성할 수 있습니까?

  13. 13

    다른 데이터 프레임을 기반으로 한 변수에서 다른 변수로 숫자 형 벡터의 names () 변경

  14. 14

    동일한 벡터 조합에 대해 서로 다른 상관 값 얻기

  15. 15

    동일한 벡터 조합에 대해 서로 다른 상관 값 얻기

  16. 16

    파일에서 한 줄씩 읽고 C ++에서 많은 int를 벡터로 구문 분석합니다.

  17. 17

    동일한 벡터에서 가장 가까운 다른 값

  18. 18

    벡터를 이동하여 다른 벡터에 추가 (C ++ 11 이전)

  19. 19

    C ++ : 인수 유형이 다른 함수에 대한 함수 포인터 벡터

  20. 20

    자체가 아닌 동일한 벡터의 다른 요소에 벡터 요소 할당 (Secret Santa 알고리즘)

  21. 21

    OpenCV를 사용하여 벡터의 벡터 구조를 C ++에서 다른 벡터로 복사하는 방법

  22. 22

    다른 문자열 벡터에서 문자열의 모든 인스턴스에 대한 문자열 벡터 검색

  23. 23

    기본 생성자없이 벡터에서 다른 데이터로 데이터 변환

  24. 24

    C ++ 지우기를 호출 한 후 문자열 벡터의 내용을 위로 이동하는 방법

  25. 25

    r의 다른 벡터에서 한 벡터를 빼는 방법

  26. 26

    C ++ 동일한 데이터에서 작동하는 하위 벡터 생성

  27. 27

    std :: 한 벡터를 다른 벡터로 이동, 주소는 업데이트되지 않음

  28. 28

    C # UWP의 한 xaml에서 다른 xaml로 데이터 이동

  29. 29

    다른 화면 해상도에서 벡터 xml 드로어 블 파일에 대한 Android 앱 레이아웃 문제

뜨겁다태그

보관