#include <stdio.h>
typedef struct {
int pos[5];
} MinoPos;
typedef struct {
char name;
int used;
int formsize;
MinoPos form[8];
} Piece;
Piece pieces[] =
{
{'X', 0, 1, {{0,6,7, 8,14}}},
{'U', 0, 4, {{0,1,2, 7, 9},{0,1, 7,14,15},{0,2, 7, 8, 9},{0,1, 8,14,15}}},
{'W', 0, 4, {{0,1,8, 9,16},{0,1, 6, 7,13},{0,7, 8,15,16},{0,6, 7,12,13}}},
{'F', 0, 2, {{0,1,8, 9,15},{0,6, 7, 8,13}}},
{'Z', 0, 4, {{0,1,8,15,16},{0,5, 6, 7,12},{0,1, 7,13,14},{0,7, 8, 9,16}}},
{'P', 0, 8, {{0,1,2, 7, 8},{0,7, 8,14,15},{0,1, 6, 7, 8},{0,1, 7, 8,15},{0,1,2,8, 9},{0,1, 7, 8,14},{0,1,7,8, 9},{0,6, 7,13,14}}},
{'N', 0, 8, {{0,1,2, 9,10},{0,6, 7,13,20},{0,1, 8, 9,10},{0,7,13,14,20},{0,1,2,6, 7},{0,7,14,15,22},{0,1,5,6, 7},{0,7, 8,15,22}}},
{'Y', 0, 8, {{0,1,2, 3, 8},{0,7,14,15,21},{0,5, 6, 7, 8},{0,6, 7,14,21},{0,1,2,3, 9},{0,7, 8,14,21},{0,6,7,8, 9},{0,7,13,14,21}}},
{'T', 0, 4, {{0,1,2, 8,15},{0,7, 8, 9,14},{0,7,13,14,15},{0,5, 6, 7,14}}},
{'L', 0, 8, {{0,1,2, 3, 7},{0,7,14,21,22},{0,4, 5, 6, 7},{0,1, 8,15,22},{0,1,2,3,10},{0,1, 7,14,21},{0,7,8,9,10},{0,7,14,20,21}}},
{'V', 0, 4, {{0,1,2, 7,14},{0,7,14,15,16},{0,7,12,13,14},{0,1, 2, 9,16}}},
{'I', 0, 2, {{0,1,2, 3, 4},{0,7,14,21,28}}},
};
int board[77];
int counter, try_counter;
void init_board(void);
void print_board(void);
void try_piece(int level);
int board_index(int find_num);
void init_board(void)
{
int i;
for(i=0; i<77; i++){
if(((i + 1) % 7) == 0 || i >= 70){
board[i] = 100;
}
}
}
void print_board(void)
{
int row, col;
printf("No. %d\n", counter);
for(row=0; row<6; row++){
for(col=0; col<70; col += 7){
printf(" %c", pieces[board[row + col] - 1].name);
}
printf("\n");
}
printf("\n");
}
int board_index(int find_num)
{
int i;
for(i=0; i<77; i++){
if(board[i] == find_num){
return i;
}
}
return 0;
}
void try_piece(int level)
{
int i, j, k, x;
try_counter++;
x = board_index(0);
for(i=0; i<12; i++){
if(pieces[i].used == 1){continue;}
for(j=0; j<pieces[i].formsize; j++){
if(board[x + pieces[i].form[j].pos[0]] ||
board[x + pieces[i].form[j].pos[1]] ||
board[x + pieces[i].form[j].pos[2]] ||
board[x + pieces[i].form[j].pos[3]] ||
board[x + pieces[i].form[j].pos[4]]){continue;}
// ピースを置く
for(k=0; k<5; k++){board[x + pieces[i].form[j].pos[k]] = i + 1;}
pieces[i].used = 1;
// すべてのピースを置ききったらTrueを返す(recursiveコールの終了)
if(level == 11){
counter++;
print_board();
// ピースを戻す
for(k=0; k<5; k++){board[x + pieces[i].form[j].pos[k]] = 0;}
pieces[i].used = 0;
return;
}
// 次のピースを試す
try_piece(level + 1);
// ピースを戻す
for(k=0; k<5; k++){board[x + pieces[i].form[j].pos[k]] = 0;}
pieces[i].used = 0;
}
}
}
int main(int argc, char **argv)
{
init_board();
try_piece(0);
printf("解合計: %d\n", counter);
printf("操作数: %d\n", try_counter);
}
これを
gcc -O2 kokoa1.c
time ./a.out
と実行すると、
time : 用語 'time' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記
述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:1
+ time ./a.out
+ ~~~~
+ CategoryInfo : ObjectNotFound: (time:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
というエラーが出るのですがなぜですか?
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>というエラーが出るのですがなぜですか?
timeコマンドのパラメタが正しくないから
でしょうかね。
OSが書かれていないので確実な回答になりませんが、Windowsとすると、
>Windowsにtimeコマンドが無いのでしょう。
Windowsにtimeコマンドはありますが
システム時刻を表示または設定するコマンド
で、意味が違います。
ーーーーーーーーーーーー
TIME [/T | 時刻]
パラメーターの指定がなければ、現在の設定が表示され、新しい時刻を入力できる
プロンプトになります。変更しない場合は、Enter キーを押してください。
コマンド拡張機能を有効にすると、TIME コマンドは、/T スイッチを
サポートするようになります。このスイッチを指定すると、現在の時刻
だけが表示され、新しい時刻を入力するためのプロンプトは表示されません。
No.1
- 回答日時:
Uninx系OSの標準コマンドに、time というのがあります。
これは
time 実行したいコマンド
で実行すると、「実行したいコマンド」の実行時間を出力するというものです。
https://linuxjm.osdn.jp/html/LDP_man-pages/man1/ …
> time : 用語 'time' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。
とあるように、Windowsにtimeコマンドが無いのでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# 未解決の外部シンボル _printfが関数_mainで参照されました 1 2022/09/18 15:28
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語での引数の省略方法
-
【C++】関数ポインタの使い方
-
「指定されたキャストは有効で...
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
「{ } で囲むだけ」は正しい?
-
実数の整数部,小数部の取得
-
c言語の配列を使ってサイコロを...
-
if と配列の組み合わせ
-
C言語で行列の積を計算できるよ...
-
入力を待たずにstdinの監視をし...
-
C言語 エラーの原因がわからな...
-
C++でvectorにテキストファイル...
-
ラップ関数とはどんなものですか?
-
数字列を3桁ごとにカンマで区切...
-
return 1L
-
PowerShellがうまくいかない
-
C言語の配列をC++のvectorに高...
-
野球の対戦成績のテーブル表示...
-
部分行列の抜き出し(C言語)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
【C++】関数ポインタの使い方
-
C言語 エラーの原因がわからな...
-
c++でテンプレートのコードでわ...
-
(int *)の意味
-
ラップ関数とはどんなものですか?
-
数字列を3桁ごとにカンマで区切...
-
c言語のリダイレクトによる円...
-
比較回数と交換回数表示について
-
実数の整数部,小数部の取得
-
if と配列の組み合わせ
-
構造体の勉強中です 合計点の高...
-
PowerShellがうまくいかない
-
c言語の配列を使ってサイコロを...
-
課題でつまってます・・・
-
C言語のサイコロシミュレート
-
エラー 添字が付けられた値が、...
おすすめ情報