Bom dia!
Estou estudante de Java e me surgiu uma situação que não estou conseguindo contornar de modo satisfatório.
Vejam o código abaixo:
public class Teste{
private static void Pivo(double Matriz[], double Resultado){
if (Matriz[0]==0){}
else {
double temp=Matriz[0];
Resultado/=temp;
for(int i=0;i<Matriz.length;i++){
Matriz[i]/=temp;
}
}
}
public static void main(String[] args){
double Coeffs[][]={{4, 2, 20},{2, 3, 5},{5,7,9}};
double Result[]={4,3,2};
Pivo(Coeffs[0],Result[0]); //AQUI ESTÁ O PROBLEMA
}
O objetivo dele é fazer com que o primeiro digito da linha da matriz informada se torne 1, mas ao fazer isso dele deve dividir todas as colunas dessa linha pelo valor original do primeiro valor da linha Coeff informado como também a primeira linha da matriz Result.
O problema é que esse código não está conseguindo alterar o valor de Result[0]. Se eu passo a matriz sem especificar a linha (somente digitando Result) eu consigo alterar seu valor informando dentro da função Pivo que quero alterar somente o valor Result[0], mas para minha aplicação isso não serve.
Pensei em alterar dessa forma:
private static void Pivo(double Matriz[], double Resultado[],int Posicao){
...
Resultado[Posicao]/=temp;
...
}
public static void main(String[] args){
...
Pivo(Coeffs[0],Result[],0);
}
Isso resolveria o problema, mas me parece uma solução não muito elegante.
Haveria alguma outra forma, mas podendo referenciar diretamente o elemento da array que eu quero modificar?