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ś?
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ś?
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..
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
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..
/* 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?
Tablicę do funkcji przekazuje się tak:
out = isDiag(tab);
jeżeli tak wpiszę to wywala mi jeszcze 11 innych błędów
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?