Escreva um metodo que recebe como parametro uma matriz (array bidimensional) contendo numeros inteiros positivos. o metodo cria e devolve um array unidimensional contendo em cada posicao a quantidade de numeros pares da respectiva coluna da matriz
public int retornaPares(int[][])
p = new int[] // aqui dentro vai o numero de colunas mas nao sei como pegar isso, ajudem por favor
for(int i=0;i<m.length;i++)
//sei que para saber se e par o resto deve ser 0 , por exemplo m%2 == 0;//
public int[] somaDosParesPorColuna(int[][] m)
{
int[] mi = new int[m.length];
int qtdPares = 0;
for(int i=0;i<m.lenght;i++)
if(m[i]%2 == 0)
qtdPares++;
}
Na expressao do if vai o que você precisa pra pegar os numeros pares, isso você ja falou.
Dentro dele vai o elemento do array que você criou, de um jeito que o index vá aumentando cada vez que o if seja satisfeito =)
Um array bidimensional é somente um array de array…
Então chamar array.length sendo que array é bidimensional somente retorna o tamanho da primeira dimensão…
Voce precisa de um for dentro do outro
Um que vai iterar pela primeira dimensão e o segundo que vai iterar pela segunda dimensão (onde encontram-se os valores)…
pelo enunciado ele cria e devolve um array unidimensional, onde cada linha do array, contém a quantidade de números pares de cada linha do array bidimensional passado como parâmetro.
/** Recebe um vetor bidimensional e devolve um vetor unidimensional
* no qual cada posição contém um valor que equivale
* a quantidade de números pares presentes nas respectivas
* colunas do vetor passado.
*
* EXEMPLO: a posição de indice 1 do vetor retornado
* conterá a quantidade de números
* pares presentes na coluna de índice 1
* do vetor passado, e assim sucessivamente**/
public int[] achaQntNumerosParesPorColuna(int[][] matriz){
// criando o vetor que será retornado
int[] retorno = new int[matriz[0].length];
//for para percorrer as colunas
for(int coluna=0;coluna<matriz[0].length;coluna++){
//for para percorrer as linhas
for(int linha=0;linha<matriz.length;linha++){
//se o resto da divisão por dois for igual a zero
if(matriz[linha][coluna]%2==0){
//somo 1 à posição de indice igual ao valor
//da váriavel coluna
retorno[coluna]++;
}
}
}
//Retorno o vetor
return retorno;
}
public int[] achaQntNumerosParesPorLinha(int[][] matriz){
// criando o vetor que será retornado
int[] retorno = new int[matriz.length];
//for para percorrer as linhas
for(int linha=0;linha<matriz.length;linha++){
//for para percorrer as colunas
for(int coluna=0;coluna<matriz[linha].length;coluna++){
//se o resto da divisão por dois for igual a zero
if(matriz[linha][coluna]%2==0){
//somo 1 à posição de indice igual ao valor
//da váriavel linha
retorno[linha]++;
}
}
}
//Retorno o vetor
return retorno;
}
Se você quisesse números impares ao invés de pares bastaria mudar o if(matriz[linha][coluna]%2==0){