首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在我的原始输入之后,我总是得到零

在我的原始输入之后,我总是得到零
EN

Stack Overflow用户
提问于 2019-04-08 07:43:00
回答 1查看 36关注 0票数 0

因此,我创建了一个具有无限输入的向量,但我希望这样当用户想要停止输入数据时,他们只需输入一个非数字键,然后移动到下一个向量,该向量只是第一个1,但反转并与其相加的8和100相乘,但当它应该继续输入时,它只添加一堆零作为输入

代码语言:javascript
复制
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n;
    vector<int> (myVec1)(n);
    vector<int> (myVec2)(n);
    int i;
    int sum;


    for(i=0;i<n;++i){
        cout<<"please enter an integer ";
        cin>>myVec1.at(i);
        cout<<endl;
        if(cin.fail()){
            for(i=0; i<n; i++){
                cout<<myVec1.at(i)<<" ";
            }
        }
    }






    cout<<endl;

    for(i=0; i<n; i++){
        sum=(myVec1.back()*8)+100;
        myVec1.pop_back();
        cout<<sum<<" ";

    }
    return 0;
}

这就是结果,正如你所看到的,在我尝试停止输入之后,只有一堆零,如果有人能帮助我的话,我真的很感激:)

请输入一个整数435

请输入一个整数412

请输入一个整数43

请输入一个整数56

请输入一个整数2

请输入一个整数q

435 412 43 56 2 0 0 0 100 100 100 444 3396 3580 548 444 3396 3580

EN

回答 1

Stack Overflow用户

发布于 2019-04-08 07:46:47

int n具有未定义的值(未初始化)

相反,忽略定义n并像这样初始化向量:vector<int> myVec1;

在读取值时,使用myVec1.push_back(valueFromKeyboard);将它们追加到向量中

代码语言:javascript
复制
#include <iostream>
#include <vector>
using namespace std;

int main () {
    vector<int> myVec1;
    vector<int> myVec2;

    int valueFromKeyboard;

    cout << "please enter an integer ";
    while (cin >> valueFromKeyboard) {
        if (!cin.fail()) {
            myVec1.push_back(valueFromKeyboard);
        }
        cout << "please enter an integer ";
    }


    for (int i = 0; i < myVec1.size(); i++) {
        cout << myVec1[i] << " ";
    }




    cout << endl << endl;

    for (int i = 1; i < myVec1.size()+1; i++) {
        myVec2.push_back(myVec1.end()[-i]*8+100);
    }

    for (int i = 0; i < myVec2.size(); i++) {
        cout << myVec2[i] << " ";
    }


    return 0;
}

myVec1.end()[-1]是向量的最后一个元素,myVec1.end()[-2]是倒数第二个元素,依此类推。这就是为什么我创建了这个循环for (int i = 1; i < myVec1.size()+1; i++)来从1转到myVec1.size()+1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55564622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档