我正在学习c ++并且得到了一个项目来发送一个pascal的三角形输出(在n行计算之后).得到这样的输出,存储在一个字符串流"缓冲区"中
1
1 1
1 2 1
1 3 3 1
Run Code Online (Sandbox Code Playgroud)
但我想要的是相当的
1
1 1
1 2 1
1 3 3 1
Run Code Online (Sandbox Code Playgroud)
我的想法是:计算最后一行和当前行长度的差异(我知道最后一行是最长的).然后使用空格填充每一行(行长度差的一半).我现在的问题是:
不知怎的,我觉得我没有使用stringstream的最佳方式.
所以这是一个很常见的问题:如何解决这个问题,如果可能的话,使用stringstreams - 怎么样?
我正在使用 vim-latex,并且正在寻找一种解决方案来删除短语周围的属性/命令。例如
\textit{\textbf{Foo}}
Run Code Online (Sandbox Code Playgroud)
将成为
\textit{Foo}
Run Code Online (Sandbox Code Playgroud)
不知何故。我找到了“环境”脚本,它对于单一标志非常强大,但不幸的是无法实现我的目标。
有什么想法和提示吗?
我正在编写一个程序,读取每行包含两个值的文件.这些值应存储在两个向量中,xVals和yVals.因此我使用push_back函数,但我希望我的代码更漂亮.现在它就像:
ifstream file;
file.open("foo.txt");
double TempVal;
while(file >> TempVal){
xVals.push_back(TempVal);
file >> TempVal;
yVals.push_back(TempVal);
}
Run Code Online (Sandbox Code Playgroud)
我目前正在寻找的是像这样的解决方案(只是重要的一行):
while(file >> xVals.push_back(??) >> yVals.push_back(??))
Run Code Online (Sandbox Code Playgroud)
问号代表"我不知道如何获得通过的价值">>"那里......是否有一个简单(比上面的三行更容易)或更好的方式来实现这个?:-)
谢谢
我需要一个适用于任何实值或复值数组的函数.
但是,对于函数本身,使用Complex[]-Array 非常方便.因此,我想要对任何非类型Complex[](例如double[]或byte[]或int[]......)的数组进行类型转换Complex[].
我认为这对我自己编写一个小的通用函数可能是一个很好的练习:
private static Complex[] convertArrayToComplex<T>(T[] inpArr)
{
if (typeof(T) != typeof(Complex[]))
{
Complex[] inpArrC = new Complex[inpArr.Length];
for (int k = 0; k < inpArr.Length; k++)
{
inpArrC[k] = new Complex((double)(object)inpArr[k], 0);
}
return inpArrC;
} else
{
return inpArr; // Compiler-Error is here
}
}
Run Code Online (Sandbox Code Playgroud)
当然这不起作用:我得到Compiler-Error告诉我,这T[]不能隐含地转换为Complex[].我理解这一点,但我没有看到以优雅的方式实现我的目标的方法.
约束:我知道这inpArr是一个数字数组.