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

折紙編程課

發布時間: 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;
}

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:749
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1012
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:718
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:878
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:774
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1127
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:351
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:229
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:911
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:875