Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何将不断变化的整数变量添加到字符串?_C++_C++11 - Fatal编程技术网

C++ 如何将不断变化的整数变量添加到字符串?

C++ 如何将不断变化的整数变量添加到字符串?,c++,c++11,C++,C++11,如果情况有问题,但这已经是第七天了,我没有任何线索。它像这样打印所取的整数 迈克。。麦克风1。。麦克风12。。麦克风123 但事实上我需要这样 迈克。。麦克风1。。麦克风2。。麦克风3 有人能帮忙吗?这是我的代码: #include <bits/stdc++.h> using namespace std; string str(int o){ stringstream ss; ss<<o; return ss.str();} int main(){ int n;

如果情况有问题,但这已经是第七天了,我没有任何线索。它像这样打印所取的整数

迈克。。麦克风1。。麦克风12。。麦克风123

但事实上我需要这样

迈克。。麦克风1。。麦克风2。。麦克风3

有人能帮忙吗?这是我的代码:

#include <bits/stdc++.h>

using namespace std;

string str(int o){
stringstream ss;
ss<<o;
return ss.str();}

int main(){

int n;
cin>>n;
int z[n];
for(int p=0;p<n;p++)
{
    z[p]=-50;
}
string x[n];
int k;
for(int i=0;i<n;i++){
    k=1;
    cin>>x[i];
    for(int j=0;j<i;j++){
        if(x[j]== x[i]){
            x[i] = x[j] + str(k) ;
            k++;
            z[i]=0;
        }
    }
}

for(int q=0;q<n;q++){
    if(z[q]==0)
        cout<<x[q]<<endl;
    else
        cout<<"OK"<<endl;
}
 return 0;
}
#包括
使用名称空间std;
字符串str(into){
细流ss;
ssn;
intz[n];
对于(int p=0;px[i];

对于(int j=0;j删除第二个
for
循环,并在循环外获得
k
,如下所示:

 k=1;

  for(int i=0;i<n;i++){

    cin>>x[i];         
    x[i] = x[i] + str(k) ;
    k++;
    z[i]=0;

  }
k=1;
对于(int i=0;i>x[i];
x[i]=x[i]+str(k);
k++;
z[i]=0;
}

您可以使用
C++11

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, k = 1;
    cin >> n;
    vector<bool> z(n, false);
    vector<string> x(n);
    for (int i = 0; i < n; ++i) {
        cin >> x[i];
        x[i] += to_string(k);
        ++k;
        z[i] = true;
    }
    for (int i = 0; i < n; ++i)
        cout << (z[i] ? x[i] : "OK") << endl;
    return 0;
}
#包括
使用名称空间std;
int main(){
int n,k=1;
cin>>n;
向量z(n,假);
向量x(n);
对于(int i=0;i>x[i];
x[i]+=to_字符串(k);
++k;
z[i]=真;
}
对于(int i=0;i是否有语法错误,前后的双星。检查它。我知道前后的星星,但我把它们放在这里,这样你就可以清楚地看到代码的一部分。在我看来,第二个循环是无用的,这才是真正的罪魁祸首。有任何解决方法的建议吗?要标记它,使用注释,任何人都可以轻松地编译它。不要使用错误constructs@Me如果问题解决了,你也许可以接受并投票给我答案。谢谢你让问题变得更简单,但那部分不起作用,给了我编译错误
到_string(k)
我不知道这有什么问题function@Meyer我提到了C++11,但您似乎忘记了编译标志
-std=C++11
@Meyer您使用C++11标志编译了吗?您得到了什么?相同的输出mike1..mike12..mike123..mike1234:(