C++void反向函数
C++ void reverse function
我们正在将基数10转换为另一个基数(B)中的数字。我的void反转函数有问题,它不会反转数字的顺序。
string convertToBaseB(int num, int b){
int digit;
stringstream answer;
string x="";
while(num>0){
digit=num%b;
num/=b;
answer<<digit;
}
return answer.str();}
void reverse(int x[],int size){//reversing the
for(int k=0; k<size/2; k++){
int temp=x[k];
x[k]=x[size-k-1];
x[size-k-1]=temp;}
}
您的反向函数运行良好。然而,对我来说,它看起来不像C++……在C++中,我会有一个向量,然后做:
std::vector<int> arr;
//... fill arr
std::swap_ranges(&arr[0], &arr[arr.size()/2], arr.rbegin());
如果你想坚持你的for循环,至少可以像这个一样使用std::swap
void reverse(int x[],int size) {
for(int k=0; k<size/2; k++)
std::swap(x[k], x[size-k-1]);
}
适用于我:
#include <iostream>
using namespace std;
void reverse(int x[],int size)
{
for(int k=0; k<size/2; k++)
{
int temp=x[k];
x[k]=x[size-k-1];
x[size-k-1]=temp;
}
}
int main()
{
const int sz = 9;
int* digits;
digits = new int[sz];
for (int i=0; i < sz; ++i)
{
digits[i] = i;
}
reverse(digits, sz);
for (int i=0; i < sz; ++i)
{
cout<<digits[i]<<" ";
}
cout<<endl;
}
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 将多维数组传递给外部"C"函数为 void *
- 您如何通过函数的void指针将int值传递,然后将其转换回int值
- 我可以将函数指针 void* 强制转换为 std::function 吗?
- 这里不允许函数定义:void encryption(ifstream encrypt_file,ofstream key
- 在 c++ 中,函数 structname (void){num_threads = std::thread::hard
- 不能在没有对象的情况下调用成员函数'virtual void ThreadBase::doTask()'
- C++:从void函数返回void函数的返回值
- 使用MS Test的函数TestMockedTRHUStart(void)中引用的未解析外部符号xxx
- 如何在C++中定义宏函数返回void或else
- 函数返回void *时实际返回的是什么?
- 测试传递给函数的void*是否是shared_ptr或unique_ptr
- 使用mpl::if_、boost::函数和void类型定义的问题
- c++指针指向函数和void指针的交互导致奇怪的事情
- 为什么函数接受void指针?
- 控制到达bool函数中非void函数的结束
- 我想存储函数的void指针以及它们的类型
- 带参数的非Void函数的Void包装
- 返回指向动态分配数组的指针,该数组具有 normal 函数和 void C++函数
- 鼠标回调函数中void*转换为int*** (opencvc++)