残念ながら、作成しようとしているプログラムで別の問題が発生しました。まず第一に、私は C プログラミングがまったく初めてで、Word Searchを作成しようとしています。
私は C++ にあるこのコードを持っていて、それを C に変換しようとしています:
#include <iostream>
using namespace std;
int main()
{
char puzzle[5][5] = {
'A', 'J', 'I', 'P', 'N',
'Z', 'F', 'Q', 'S', 'N',
'O', 'W', 'N', 'C', 'E',
'G', 'L', 'S', 'X', 'W',
'N', 'G', 'F', 'H', 'V',
};
char word[5] = "SNOW"; // The word we're searching for
int i;
int len; // The length of the word
bool found; // Flag set to true if the word was found
int startCol, startRow;
int endCol, endRow;
int row, col;
found = false;
i = 0;
len = 4;
// Loop through each character in the puzzle
for(row = 0; row < 5; row ++) {
for(col = 0; col < 5; col ++) {
// Does the character match the ith character of the word
// we're looking for?
if(puzzle[row][col] == word[i]) {
if(i == 0) { // Is it the first character of the word?
startCol = col;
startRow = row;
} else if(i == len - 1) { // Is it the last character of the
// word?
endCol = col;
endRow = row;
found = true;
}
i ++;
} else
i = 0;
}
if(found) {
// We found the word
break;
}
}
if(found) {
cout << "The word " << word << " starts at (" << startCol << ", "
<< startRow << ") and ends at (" << endCol << ", " << endRow
<< ")" << endl;
}
return 0;
}
しかし、C プログラミングがブール値をサポートしていないことに気付いたので、問題が発生しました。
私はそれを使用しているので、ユーザーは検索している単語 (例: boy) を入力し、ユーザーは長さ ( 3 ) も入力し、ユーザーは単語の最初と最後の文字の座標を入力します. ユーザーが次のように入力すると、上記のコードから座標を取得し、ユーザーが入力したものと比較する予定です。一致しない場合はユーザーが間違って推測し、一致する場合はユーザーが正しく推測したことになります。
ライブラリも試しましたstdbool.h
が、ライブラリが見つからなかったため機能しませんでした。
の代わりに他の方法はありstdbool.h
ますか?true = 1 、 false = 0 を使用していることは知っていますが、次のコードでそれを解釈する方法が正確にはわかりません。
前もって感謝します。