易语言编程问题。
附 易语言代码,及C++代码。
易语言:
.版本 2
.程序集 窗口程序集1
.子程序 _计算_被单击
.局部变量 i, 整数型
.局部变量 n, 整数型
.局部变量 a, , , "100,100"
.局部变量 s, 整数型
.局部变量 t, 整数型
.局部变量 j, 整数型
.局部变量 players, 整数型
.局部变量 m, 整数型
.如果 (数据K.内容 = “”)
信息框 (“您没有输入值,请输入K的值”, #警告图标, “警告”)
.否则
.如果结束
.变量循环首 (1, 到数值 (数据K.内容), 1, i)
n = n × 2
.变量循环尾 ()
.变量循环首 (1, n, 1, i)
a [1] [i] = i
.变量循环尾 ()
m = 1
.变量循环首 (1, 到数值 (数据K.内容), 1, s)
n = n ÷ 2
.变量循环首 (1, n, 1, t)
.变量循环首 (m + 1, 2 × m, 1, i)
.变量循环首 (m + 1, 2 × m, 1, j)
a[i][j+(t-1)*m*2] = a[i-m][j+(t-1)*m*2-m];
a[i][j+(t-1)*m*2-m] = a[i-m][j+(t-1)*m*2];
.变量循环尾 ()
.变量循环尾 ()
.变量循环尾 ()
m = m × 2
.变量循环尾 ()
.变量循环首 (1, players, 1, i)
.变量循环首 (1, players, 1, j)
输出.内容 = 输出.内容 + 到文本 (a [i] [j]) + “ ”
.变量循环尾 ()
#换行符
.变量循环尾 ()
C++代码:
#include<iostream>
using namespace std;
#include<cmath>
int a[100][100];
int main()
{
int k;
//int a[100][100]; //定义在外面
int n = 1;
cout << "请输入k的值:" << endl;
cin >> k;
for (int i = 1; i <= k; i++)
n *= 2;
int players = n;
for (i = 1; i <= n; i++) //运动员的号码
{
a[1][i] = i;
}
int m = 1;
for (int s = 1; s <= k; s++)
{
n /= 2;
for (int t = 1; t <= n; t++)
for (int i = m+1; i <= 2*m; i++)
for (int j = m+1; j <= 2*m; j++)
{
a[i][j+(t-1)*m*2] = a[i-m][j+(t-1)*m*2-m];
a[i][j+(t-1)*m*2-m] = a[i-m][j+(t-1)*m*2];
}
m *= 2;
}
cout << "比赛日程表如下: " << endl;
for ( i = 1; i <= players; i++)
{
for (int j = 1; j <= players; j++)
cout << a[i][j] << " ";
cout << endl;
}
return 0;
}
请高手不吝赐教! 小生感激不尽。 展开
' 按C++的翻译过来是这样的结果,不知道是不是你想要的效果
.版本 2
.子程序 _计算_被单击
.局部变量 i, 整数型
.局部变量 n, 整数型
.局部变量 a, , , "100,100"
.局部变量 s, 整数型
.局部变量 t, 整数型
.局部变量 j, 整数型
.局部变量 players, 整数型
.局部变量 m, 整数型
.如果 (数据K.内容 = “”)
信息框 (“您没有输入值,请输入K的值”, #警告图标, “警告”)
返回 ()
.否则
.如果结束
n = 1
.变量循环首 (1, 到数值 (数据K.内容), 1, i)
n = n × 2
players = n
.变量循环尾 ()
.变量循环首 (1, n, 1, i)
a [1] [i] = i
.变量循环尾 ()
m = 1
.变量循环首 (1, 到数值 (数据K.内容), 1, s)
n = n ÷ 2
.变量循环首 (1, n, 1, t)
.变量循环首 (m + 1, 2 × m, 1, i)
.变量循环首 (m + 1, 2 × m, 1, j)
a [i] [j + (t - 1) × m × 2] = a [i - m] [j + (t - 1) × m × 2 - m]
a [i] [j + (t - 1) × m × 2 - m] = a [i - m] [j + (t - 1) × m × 2]
.变量循环尾 ()
.变量循环尾 ()
.变量循环尾 ()
m = m × 2
.变量循环尾 ()
.变量循环首 (1, players, 1, i)
.变量循环首 (1, players, 1, j)
输出.内容 = 输出.内容 + 到文本 (a [i] [j]) + “ ”
.变量循环尾 ()
.变量循环尾 ()