第30講 数独(ナンバープレイス)問題解決ソフトVer.1の制作
(数独(ナンバープレイス)問題作成ソフトに挑戦する人は☆☆)


第14話 解答が複数存在したり、解答が存在しないときに、それを指摘する

コード変更部分
#pragma endregion
                  ・
                  ・
                  ・
  private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
                  ・
                  ・
                  ・
            s=0;
            f(0);
            DateTime^ ow=DateTime::Now; //終了時間
            TimeSpan sa=ow->Subtract(*hj); //経過時間の計算

            dataGridView1[30,24]->Value=L"解答作成時間";
            dataGridView1[30,25]->Value=sa.TotalSeconds.ToString();
            if(s==2)dataGridView1[30,26]->Value=L"解答が複数存在する";
            if(s==0)dataGridView1[30,26]->Value=L"解答が存在しない";
            if(s==2)dataGridView1[30,27]->Value=L"不適切な問題です。";
            if(s==0)dataGridView1[30,27]->Value=L"不適切な問題です。";

         }

         void f(char g){
           
if(s==2)return;
           char x,y;
           x=g%9;
           y=g/9;
           char h,i,j,k1,k2;
           if(a[y][x]>0){
             if(g+1<81){
               f(g+1);
             }
             else{
               k1=0;
               for(i=0;i<13;i++){
                 if(i%4==0){
                   k1++;
                   for(j=0;j<13;j++)dataGridView1[j,i+14]->Value=L"*";
                 }
                 if(i%4>0){
                   k2=0;
                   for(j=0;j<13;j++){
                     if(j%4==0){
                       dataGridView1[j,i+14]->Value=L"*";
                       k2++;
                     }
                     if(j%4>0){
                       dataGridView1[j,i+14]->Value=a[i-k1][j-k2];
                     }
                   }
                 }
               }
               s++;
               
if(s==2)return;
             }
           }

                  ・
                  ・
                  ・
                   s++;
                   
if(s==2)return;
                 }
                 a[y][x]=0;
               }
             }
           }
         }
実行画面
c++

入門


初心者

基礎

本講最後の課題です。
『Ⅴ 現在入力ミスしたとき、スペースで訂正して実行すると実行エラーを起こすので、スペースで訂正出来るように変更する。』
を実現しましょう。



第13話へ 第15話へ

戻る

VC++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)