捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
 
广告
评论:简单的四阶独数示例程序
ozhy1 40096 2010/5/28 9:13:01
非常感谢!
melice 40094 2010/5/27 21:50:12
多阶的数独生成。
http://zixia.appspot.com/media/agV6aXhpYXINCxIFTWVkaWEYkcgCDA/sudoku.rar
melice 40093 2010/5/27 19:46:26
http://zixia.appspot.com/media/agV6aXhpYXINCxIFTWVkaWEYwbgCDA/sjds100526.rar?a=download

修改好了,你看看能不能下
melice 40092 2010/5/27 19:02:24
这个呀 没考虑呢。 修改下代码就好了。
ozhy1 40090 2010/5/27 9:47:36
谢谢
可还是会出现错误

1   3
    4
3   *   2   1
4   1    3   2

当随机生成数据时
*位出错
ozhy1 40089 2010/5/27 9:43:07
谢谢
可还是会出现错误

1   3
    4
3        2   1
4   1    3   2
melice 40085 2010/5/26 19:59:53
帮你写了个生成部分的代码.sggrid是一个grid控件。

function CheckNum(x, y, n: integer): boolean;
var
  i: integer;
begin
  Result := True;
  //判断行列是否满足数独要求
  for i := 1 to 4 do
  begin
    if four[x, i] = n then
      Result := False;
    if four[i, y] = n then
      Result := False;
  end;
  //判断宫是否满足 ,代码未完成
end;

procedure GenNum(var i, j, n: integer);
begin
  repeat
    i := 1 + random(4);
    j := 1 + random(4);
    n := 1 + random(4);
  until CheckNum(i, j, n);
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  i, j, m, c: integer;
  baseNum: integer;
begin
  baseNum := StrToInt(ComboBox1.Text);

  //初始化
  Fillchar(four, sizeof(four), 0);

  //生成数据
  for m := 1 to baseNum do
  begin
    GenNum(i, j, c);
    four[i,j] := c;
  end;

  //赋值
  for i := 1 to 4 do
    for j := 1 to 4 do
      if four[i, j] > 0 then
        sgFour.Cells[i - 1, j - 1] := IntToStr(Four[i, j])
      else
        sgFour.Cells[i - 1, j - 1] := '';
end;
melice 40084 2010/5/26 18:19:53
randomize只需要在程序初始化的时候执行一次。
数独的宫没做判断。
界面和算法过于紧密。
melice 40083 2010/5/26 18:11:17
你的代码格局有待改进呀。。
ozhy1 40080 2010/5/26 11:30:39
这个独数程序写的还不完善
生成随机独数算法还需完善
ozhy1 40079 2010/5/26 11:27:15
这个独数程序写的还不完善
生成随机独数算法还完善
第一页 上一页 下一页 最后页 有 11 条纪录 共1页 1 - 11
 用户名:
 密 码:
自动登陆(30天有效)
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表