我创建了一个 11 X 11 矩阵,可以在其中输入填字游戏的字符。不需要字母的部分用空格填充。我正在尝试获取矩阵并在其中找到水平和垂直的所有单词,然后将它们存储在一个数组中。任何帮助将不胜感激,因为我对 Java 编程相当陌生!谢谢!
问问题
60 次
1 回答
0
这是'C'中的一个工作示例,翻译成java应该是直截了当的
逻辑完全一样。
#include <stdio.h>
void matrixwords(char matrix[11][11])
{
int i = 0;
int j = 0;
int k = 0;
char str[12];
/* process each row i using column j */
k = 0;
for (i = 0; i < 11; i++) {
for (j = 0; j < 11; ++j) {
char c = matrix[i][j];
if (c != ' ') {
str[k++] = c;
} else {
/* found a word in the row */
if (k != 0) {
str[k] = '\0'; /* terminate word */
printf("found a row word %s\n", str);
k = 0;
}
}
}
/* don't forget last word in row */
if (k != 0) {
str[k] = '\0'; /* terminate word */
printf("found a row word %s\n", str);
k = 0;
}
}
/* process each column j using row i*/
k = 0;
for (j = 0; j < 11; i++) {
for (i = 0; i < 11; ++j) {
char c = matrix[i][j];
if (c != ' ') {
str[k++] = c;
} else {
/* found a word in the row */
if (k != 0) {
str[k] = '\0'; /* terminate word */
printf("found a column word %s\n", str);
k = 0;
}
}
}
/* don't forget last word in column */
if (k != 0) {
str[k] = '\0'; /* terminate word */
printf("found a column word %s\n", str);
}
k = 0;
}
}
于 2013-11-06T21:40:23.000 回答