Josie0625 2019-10-11 17:10 采纳率: 0%
浏览 403
已采纳

c++中字符全排列的程序

编译器是c++ builder最新版

TForm5 *Form5;
char list [9] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'};
static int count=0;
void SWAP(char x,char y,char tmp)
{
tmp=x;
x=y;
y=tmp;
}
void perm(char *list, int k, int n)

{   int i,tmp;
    if (k == n-1)

    {   String a = list;

       a = a.SubString(1, n);

       Form5->Memo1->Lines->Add(a+"  ["+IntToStr(count++)+"]");

    }

    else

    {   for (i=k; i<n; i++)

       {  SWAP(list[k], list[i], tmp);

          perm(list, k+1, n);

          SWAP(list[k], list[i], tmp);

       }

    }

}

//---------------------------------------------------------------------------
__fastcall TForm5::TForm5(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm5::Button1Click(TObject *Sender)
{
int k = StrToInt(Edit1->Text);

int n = StrToInt(Edit2->Text);

perm(list, k, n );

}

不知道是哪个地方出了问题 执行出来总是ABCD 这一个顺序
希望有大佬帮忙看一下

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-10-11 17:20
    关注
    void SWAP(char &x,char &y,char tmp)
    {
    tmp=x;
    x=y;
    y=tmp;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。