0

我创建了一个 11 X 11 矩阵,可以在其中输入填字游戏的字符。不需要字母的部分用空格填充。我正在尝试获取矩阵并在其中找到水平和垂直的所有单词,然后将它们存储在一个数组中。任何帮助将不胜感激,因为我对 Java 编程相当陌生!谢谢!

4

1 回答 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 回答