Como dividir os elementos na matriz

A questão pede para ler duas matrizes A e B de duas dimensões com 3x3. A matriz A deverá ser formada por valores que não sejam divisíveis por 3,
enquanto a matriz B deverá ser formada por valores que não sejam divisíveis por 2./ As entradas dos valores nas matrizes deverão
ser validadas pelo algoritmo. Construir a matriz C, de mesmo tamanho, onde cada elemento de C é a divisão entre os elementos correspondentes
de A e B.
Não consegui entender ao certo como deverei gerar essa matriz C . Não deveria pegar os elementos não divisiveis por 3 na matrizA e dividir pelos elementos da matrizB que não são divisiveis por 2? Mas isso não significa que esses elementos serão divisiveis entre eles. Essa é a minha dúvida. Segue o código que eu fiz até aqui …

package matrizes;

import java.util.Scanner;

/*
 Ler duas matrizes A e B de duas dimensões com 3x3./ A matriz A deverá ser formada por valores que não sejam divisíveis por 3,
 enquanto a matriz B deverá ser formada por valores que não sejam divisíveis por 2./  As entradas dos valores nas matrizes deverão
 ser validadas pelo algoritmo. Construir a matriz C, de mesmo tamanho, onde cada elemento de C é a divisão entre os elementos correspondentes
 de A e B
 */

public class Questao10 {

	public static void main(String[] args) {

		Scanner input = new Scanner(System.in);

		int[][] matrizA = new int[3][3];

		int[][] matrizB = new int[3][3];

		int[][] matrizC = new int[3][3];

		System.out.println("Preenchendo a mtriz A");

		for (int i = 0; i < matrizA.length; i++) {

			for (int j = 0; j < matrizA[i].length; j++) {
				
                int valor = -1;
                
                do{
                    System.out.print("A[" + i + ", " + j + "]: ");
                    
                    valor= input.nextInt();

                    if(valor % 3 == 0)
                        System.out.println("Numero errado !\n");
                }

                while(valor % 3 == 0);                

				matrizA[i][j] = valor;				
			}

		}

		System.out.println("Preenchendo a mtriz B");

		for (int i = 0; i < matrizB.length; i++) {

			for (int j = 0; j < matrizB[i].length; j++) {

                int valor = -1;
                
                do{
                    System.out.print("B[" + i + ", " + j + "]: ");
                    valor= input.nextInt();

                    if(valor % 2 == 0)
                        System.out.println("Numero errado !\n");
                }

                while(valor % 2 == 0);

				matrizB[i][j] = valor;				

			}

		}

		for (int i = 0; i < matrizC.length; i++) {

			for (int j = 0; j < matrizC[i].length; j++) {

				if (matrizB[i][j] != 0) {

					matrizC[i][j] = matrizA[i][j] / matrizB[i][j];

				}

			}

		}

        System.out.println("\nMatriz C\n");

        for (int i = 0; i < matrizC.length; i++) {

			for (int j = 0; j < matrizC[i].length; j++) {

				System.out.print(matrizC[i][j] + "\t");

			}
            System.out.println("");
		}
		
	}

}

Mas o enunciado não diz que precisam ser divisíveis, a única regra é que A seja formado por números não divisíveis por 3 e B por numeros não divisíveis por 2.
Deve ser um exercício só para treinar a iteração de matrizes.

1 curtida

Eu fiz assim:

import java.util.Random;

public class Matrizes {

    public static void main(String[] args) {

        // Criando a matriz A com valores não divisíveis por 3
        int[][] A = new int[3][3];
        Random r = new Random();
        for (int i = 0; i < A.length; i++) {
            for (int j = 0; j < A[i].length; j++) {
                int valor = r.nextInt(100);
                while (valor % 3 == 0) {
                    valor = r.nextInt(100);
                }
                A[i][j] = valor;
            }
        }

        // Criando a matriz B com valores não divisíveis por 2
        int[][] B = new int[3][3];
        for (int i = 0; i < B.length; i++) {
            for (int j = 0; j < B[i].length; j++) {
                int valor = r.nextInt(100);
                while (valor % 2 == 0) {
                    valor = r.nextInt(100);
                }
                B[i][j] = valor;
            }
        }

        // Gerando a matriz C com os valores da divisão de A por B
        float[][] C = new float[3][3];
        for (int i = 0; i < C.length; i++) {
            for (int j = 0; j < C[i].length; j++) {
                C[i][j] = (float) A[i][j] / B[i][j];
            }
        }

        // Imprimindo as matrizes A, B e C
        System.out.println("Matriz A:");
        for (int i = 0; i < A.length; i++) {
            for (int j = 0; j < A[i].length; j++) {
                System.out.print(A[i][j] + " ");
            }
            System.out.println();
        }

        System.out.println("Matriz B:");
        for (int i = 0; i < B.length; i++) {
            for (int j = 0; j < B[i].length; j++) {
                System.out.print(B[i][j] + " ");
            }
            System.out.println();
        }

        System.out.println("Matriz C:");
        for (int i = 0; i < C.length; i++) {
            for (int j = 0; j < C[i].length; j++) {
                System.out.print(C[i][j] + " ");
            }
            System.out.println();
        }
    }

}