相关疑难解决方法(0)

使用逗号C++打印列表

我知道如何用其他语言来做这件事,而不是C++,我不得不在这里使用它.

我有一组字符串,我打印到列表中,并且每个字符串之间需要逗号,但不是逗号.例如,在java中,我会使用stringbuilder,并在构建字符串后删除逗号.我如何用C++做到这一点?

auto iter = keywords.begin();
for (iter; iter != keywords.end( ); iter++ )
{

    out << *iter << ", ";
}
out << endl;
Run Code Online (Sandbox Code Playgroud)

我最初尝试插入此块来执行此操作(在此处移动逗号打印)

if (iter++ != keywords.end())
    out << ", ";
iter--;
Run Code Online (Sandbox Code Playgroud)

我讨厌小东西把我绊倒的时候.

编辑:谢谢大家.这就是我在这里发布这样的东西的原因.这么多好的答案,并以不同的方式解决.经过一个学期的Java和汇编(不同的类),不得不在4天内完成一个C++项目,这让我陷入了困境.我不仅得到了答案,还有机会思考解决这类问题的不同方法.真棒.

c++ pretty-print

50
推荐指数
9
解决办法
2万
查看次数

从map <key,set <datatype >>访问元素

我正在使用如下所示的数据结构:

map<string, set<string>> data;
Run Code Online (Sandbox Code Playgroud)

到目前为止,我使用foreach循环处理地图没有任何问题,但是,现在我需要打印出地图中的数据,如下所示:

KEY: elem1, elem2, elem3
KEY2: elem1, elem2, elem3
Run Code Online (Sandbox Code Playgroud)

由于最后缺少逗号,我不能再使用foreach循环了(我可以吗?).由于我是C++,C++ 11以及它提供的所有乐趣的新手,我很遗憾.我提出了:

for ( auto i : data )
{
    cout << i.first << ": ";
    for ( size_t i = 0; i < /* size of the set */ - 1; i ++ )
        cout << j << ", ";

    cout << /* the last element of the set */ << endl;
}
Run Code Online (Sandbox Code Playgroud)

我知道我想要什么,我只是不知道语法和C++参考没有多大帮助.感谢您的回答,同时我将自己浏览C++参考.

c++ map set c++11

5
推荐指数
1
解决办法
331
查看次数

不要在最后一个号码后打印空格

LANGUAGE:C++ 你好,在下面的函数(代码块)中我写了一行来打印字符之间的空格,但我不想在最后一个字符后面打印空格.我怎么解决这个问题?

bool perfecto(int n)
{
    int suma, i;
    suma = 0;
    for (i = 1; i < n; i++)
    {
        if (n % i == 0) 
        {
            suma += i;
            cout << i << " ";
        }
    }
    if (suma == n)
        return true;
    else
        return false;
}
Run Code Online (Sandbox Code Playgroud)

最好的祝福.ÁngelManuel.

c++

3
推荐指数
1
解决办法
3850
查看次数

标签 统计

c++ ×3

c++11 ×1

map ×1

pretty-print ×1

set ×1