C++Primer 5판 3.3.3 절 연습

11275 단어 C++Primer 학습
연습 3.16: 연습 3.13에서vector 대상의 용량과 구체적인 내용을 출력하는 프로그램을 작성한다.이전의 대답이 정확했는지 확인하고, 만약 틀렸다면, 3.3.1절 (87페이지) 을 돌이켜서 어디가 틀렸는지 알 때까지 다시 배워라.
연습 3.17:cin에서 한 조의 단어를 읽고 그것을vector 대상에 저장한 다음에 모든 단어를 대문자로 바꾸려고 한다.출력이 바뀐 결과는 단어마다 한 줄을 차지한다.
연습 3.18: 다음 절차는 합법적입니까?만약 합법적이지 않다면, 당신은 어떻게 수정할 계획입니까?Vector ivec; Ivec [0] = 42;
연습3.19: 10개의 원소를 포함하는vector 대상을 정의하면 모든 원소의 값이 42입니다. 세 가지 다른 실현 방법을 열거하십시오.어떤 방법이 더 좋아요?왜?
연습 3.20: 한 조의 정수를 읽고 그것을vector 대상에 저장하여 서로 인접한 정수와 출력을 출력한다.프로그램을 바꾸십시오. 이번에는 첫 번째 요소와 마지막 원소의 합을 출력하고, 이어서 두 번째 요소와 밑의 두 번째 원소의 합을 출력해야 합니다.
답: 연습 3.16, 보기 프로그램 연습 3.17, 보기 프로그램 연습 3.18 비합법적, 두 번째 단계는,ivec.push_back(10); 3.19 vector ivec 연습하기;첫 번째:ivec(10,42);두 번째:ivec={42,42,42,42,42,42,42,42,42,42,42,42,42} 세 번째:for(int i=0;i!=10;+i)Ivec.push_back(10); 3.20번 절차를 연습하세요.
연습
#include 
#include 

using namespace std;

int main()
{
    vector<int> v1;
    for (auto &i : v1)
        cout << "v1 " << i << " " << endl;
        //cout << "v1" << endl; 

    vector<int> v2(10);
    for (auto &i : v2)
        cout << "v2 " << i <<" " ;
        cout << endl; 

    vector<int> v3(10,42);
    for (auto &i : v3)
        cout << "v3 " << i << " ";
        cout << endl;

    vector<int> v4{10};
    for (auto &i : v4)
        cout << " v4 " << i << " ";
        cout << endl;

    vector<int> v5{10,42};
    for (auto &i : v5)
        cout << "v5 " << i << " ";
        cout << endl;

    vector<string> v6{10};
    for (auto &i : v6)
        cout << "v6 " << i << " ";
        cout << endl;

    vector<string> v7{10,"hi"};
    for (auto &i : v7)
        cout << "v7 " << i << " ";
        cout << endl;

    return 0; 

}

연습
#include 
#include 
#include 

using namespace std;

int main()
{
    string word;
    vector<string> text;
    while (cin >> word)
        text.push_back(word);

    for (decltype(text.size()) i = 0; i != text.size(); ++i) 
        {   
           for (auto &j : text[i])
                j = toupper(j);
            cout << text[i] << endl;
            }
    return 0;
} 

연습
#include 
#include 
#include 

using namespace std;

int main()
{
    int v1;
    vector<int> ivec;
    while (cin >> v1)
        ivec.push_back(v1);

    for (decltype(ivec.size()) i = 0; i != ivec.size()-1; ++i)
       {
          //for(decltype(ivec.size()) j = i; j!=ivec.size()-1;++j)
          //{
            auto sum = ivec[i] + ivec[i+1];
            cout << sum << " "; 
          //}
       }
       cout << endl;
    return 0;
}

연습
#include 
#include 
#include 

using namespace std;

int main()
{
    int v1;
    vector<int> ivec;
    while (cin >> v1)
        ivec.push_back(v1);

    for (decltype(ivec.size()) i = 0; i != ivec.size(); ++i)
        {
        auto sum = ivec[i] + ivec[ivec.size()-1-i];
        cout << sum << " "; 
        }
        cout << endl;
    return 0;
}

연습
/*
*
*     3.20-2              ,           ,       ,    ,          ,    vector  ,     
*
*/ 
#include 
#include 
#include 

using namespace std;

int main()
{
    int val;
    vector<int> ivec;
    vector<int> ivec1;
    int val2;
    while (cin >> val)
        ivec.push_back(val);

    for (decltype(ivec.size()) i = 0; i != ivec.size(); ++i)
        {

            auto sum = ivec[i] + ivec[ivec.size()-1-i];
            ivec1.push_back(sum); 
   //    1,    ,  vector         
        }
    /*if (ivec.size()/2 == 0)
         auto counter = ivec.size()/2;
    else 
         auto counter = (ivec.size()+1)/2;    
    */
    for (decltype(ivec1.size()) j = 0; j !=(ivec.size()/2==0?ivec.size()/2:(ivec.size()+1)/2); ++j) 
//j != ...     ,
//ivec            ,            
        cout << ivec1[j] << " ";
        cout << endl;
        return 0;
}

좋은 웹페이지 즐겨찾기