當前位置:首頁 » 編程軟體 » 折紙編程課

折紙編程課

發布時間: 2023-02-11 02:44:58

① C++程序:折紙游戲

#include<iostream>
#include<string>
using namespace std;
//兩種演算法,第一種演算法效率高點,第二種演算法生成的程序大小比第一種的小
/*bool compare(int *a,int m,int rsize)
{
int i,j;
for(i=0;i<m/2;i++)
{
for(j=0;j<m/2;j++)
{
if(a[i*m+j]!=a[(i+1)*m-1-j])
return false;
if(a[i*m+j]!=a[(m-i-1)*m+j])
return false;
}
}
for(i=m-1;i>m/2;i--)
{
for(j=m-1;j>m/2;j--)
{
if(a[i*m+j]!=a[(i+1)*m-1-j])
return false;
if(a[i*m+j]!=a[(m-i-1)*m+j])
return false;
}
}
return true;
}*/
bool compare(int *a,int m,int rsize)
{
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
if(a[i*m+j]!=a[(i+1)*m-1-j])
return false;
if(a[i*m+j]!=a[(m-i-1)*m+j])
return false;
}
}
return true;
}
void main()

{
int *a;
int n=0;
int m=0;
string *b;
int i,j;
int rsize=0;
cout<<"請輸入一個整數:";
cin>>n;
b=new string[n];
j=0;
while(j<n)
{
cout<<"請輸入矩陣邊長:";
cin>>m;
rsize=m*m;
a=new int[rsize];
cout<<"請輸入矩陣:"<<endl;
for(i=0;i<rsize;i++)
cin>>a[i];
if(compare(a,m,rsize))
b[j]="Yes";
else
b[j]="No";
delete[] a;
j++;
}
cout<<"輸出:"<<endl;
for(i=0;i<n;i++)
cout<<b[i]<<endl;
delete[] b;
}

熱點內容
不屬於編譯程序組成的部分是什麼 發布:2024-05-05 19:05:34 瀏覽:612
壓縮麵食 發布:2024-05-05 18:55:45 瀏覽:803
linux的gz解壓命令 發布:2024-05-05 18:24:13 瀏覽:311
伺服器機櫃屬於什麼輻射 發布:2024-05-05 18:02:10 瀏覽:336
存儲成本計算 發布:2024-05-05 18:02:10 瀏覽:584
如何把手機改安卓10 發布:2024-05-05 17:39:07 瀏覽:498
我的世界怎麼擴容伺服器內存 發布:2024-05-05 17:19:54 瀏覽:48
java讀取文件字元 發布:2024-05-05 17:15:18 瀏覽:11
三星怎麼應用加密 發布:2024-05-05 17:13:18 瀏覽:152
cad字體在那個文件夾 發布:2024-05-05 17:08:20 瀏覽:331