zadanie na zaliczenie-macierze

0

Napisz program sprawdzający czy zainicjowana tablica kwadratowa liczb jest diagonalna. Zastosuj funkcje.

Nie mam pomysłu jak się do tego zabrać. Pomoże ktoś?

0

sory, ale jak czytam takie posty mam wrażenie, że ich twórca po prostu nie myśli. W czym problem? Nie potrafisz określić na kartce papieru, czy macierz jest diagonalna czy nie? Nawet nie jesteś łaskaw pokazać, że zacząłeś działać!
To się nadaje tylko do działu praca..

0

Nie o to chodzi. Problem tkwi w zapisaniu tych warunków w programie. A właściwie to kompletnie nie mam pojęcia jak tego dokonać. ;p

0

Jeżeli nie masz zielonego pojęcia to zapłać za rozwiazanie..
Tak mogłaby wyglądać funkcja sprawdzająca w C++:

bool diagonalna(int **macierz,int n)
{
	for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
			if(j!=i && macierz[i][j]!=0)
				return false;
	return true;
}

przekształć sobie na Jave i masz..

0

/* napisz program sprawdzający czy zainicjowana tablica kwadratowa liczba jest:
a) diagonalna
b) gornotrojkatna
c) symetryczna. zastosuj funkcje */
public class zadanko {
public boolean isDiag(int t[][] )
{
for (int i = 0; i < this.t.length; i++)
{
for (int j = 0; j < this.t[0].length; j++)
{
if (i != j && this.t[i][j] != 0)
{
return false;
}
}
}
return true;
}
public boolean isGornotroj(int t[][])
{
for (int i = 0; i < this.t.length; i++)
{
for (int j = 0; j < this.t[0].length; j++)
{
if (i > j && this.t[i][j] != 0)
{
return false;
}
}
}
return true;
}
public boolean isSymetryczna(int t[][])
{

            for (int i = 0; i < this.t.length; i++) 
            {
                    for (int j = 0; j < this.t[0].length; j++) 
                    {
                            if (this.t[i][j] != this.t[j][i]) 
                            {
                                    return false;
                            }
                    }
            }
            return true;

}
public static void main(String[] args)
{
int tab[][] = new int[3][3];
tab[0][0]=-5;
tab[0][1]=0;
tab[0][2]=0;
tab[1][0]=0;
tab[1][1]=3;
tab[1][2]=0;
tab[2][0]=0;
tab[2][1]=0;
tab[2][2]=4;
int out;
out = isDiag(tab[][]);
System.out.println(out);
}
}

wyskakuje mi przy tym taki blad

Main.java:62: '.class' expected
out = isDiag(tab[][]);
^

ma ktoś pomysł dlaczego mi to nie działa?

0

Tablicę do funkcji przekazuje się tak:

out = isDiag(tab);
0

jeżeli tak wpiszę to wywala mi jeszcze 11 innych błędów

0

Poczytaj jakąś książkę dla zupełnie początkujących.
1.

//deklaracja
public boolean isDiag(int t[][])
//wywołanie                
int out;
out = isDiag(tab);

widzisz sprzeczność?
2.

        public boolean isDiag(int t[][] )
        {
                for (int i = 0; i < this.t.length; i++)

Co to jest this.t?

1 użytkowników online, w tym zalogowanych: 0, gości: 1