-2
英字を含む正方行列には英単語を含めることができます。任意の方法で単語を検索しながら、左から右に水平に、垂直にダウンロードするか、斜め方向に右に移動できます。下方I 6を取得してい長さの行列を見つけて単語を見つける
与えられた行列
a a k
a s k
a k k
で単語「ASK」は入力行列の4回一致した出力が4出力されるので、例えば、4であるべきである。
public class Pattern1
{
public static void main(String[] args)
{
mat();
}
public static void mat()
{
int count = 0;
Scanner sc1 = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in);
System.out.println("enter the no of rows");
int r = sc1.nextInt();
System.out.println("Enter the no of cols");
int c = sc1.nextInt();
String m1[][] = new String[r][c];
System.out.println("Enter the elements row wise");
for (int i = 0; i < r; i++)
{
for (int j = 0; j < c; j++)
{
m1[i][j] = sc2.nextLine();
}
}
System.out.println("Matrix is");
for (int i = 0; i < r; i++)
{
for (int j = 0; j < c; j++)
{
System.out.print(m1[i][j] + " ");
}
System.out.println();
}
String s = "ask";
int count1 = 0;
String s1[] = s.split("");
int hori = 0, verti = 0, digoL = 0, digoR = 0;
//horizontal
for (int i = 0; i < r; i++) {
count1 = 0;
for (int j = 0; j < c; j++)
{
for (int k = 0; k < s1.length; k++)
{
if (m1[i][j].equals(s1[k]))
count1++;
}
}
if (count1 == s1.length)
{
hori++;
}
}
//vertical
int count2 = 0;
for (int i = 0; i < r; i++) {
count2 = 0;
for (int j = 0; j < c; j++) {
for (int k = 0; k < s1.length; k++) {
if (m1[j][i].equals(s1[k]))
count2++;
}
}
if (count2 == s1.length)
{
verti++;
}
}
//dioganal right
int count3 = 0;
for (int i = 0; i < r; i++) {
count3 = 0;
for (int j = 0; j < i; j++) {
for (int k = 0; k < s1.length; k++) {
if (m1[i][j].equals(s1[k]))
count3++;
}
}
if (count3 == s1.length)
{
digoL++;
}
}
//dioganal left
int count4 = 0;
for (int i = 0; i < r; i++) {
count4 = 0;
for (int j = 0; j < i; j++) {
for (int k = 0; k < s1.length; k++) {
if (m1[i][j].equals(s1[k]))
count4++;
}
}
if (count4 == s1.length) {
digoR++;
}
}
int sum = verti + hori + digoL + digoR;
System.out.println("sum=" + sum);
}
}
との比較を減らすことができるだけにコードを削減してください問題のビット。誰もそれをすべて読んで乾草の針を探す時間がありません –
そのコードをさらにフォーマットします。これは読めません! – fabian