8.7.. Napisati program da ispisuje na glavnoj dijagonali + a osali su -:

Opis rješenja: Ovaj ispis se ponekad naziva i "Glavna dijagonala":

Slika 1. Glavna dijagonala i=j

Listing programa :

I varijanta     izbor na glavnoj i ispod glavne dijagonale izvodi se sa if (j <= i)
// 08714047
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int i, j, n;

        System.out.print("Unesi n ");
        n = input.nextInt();   // dimenzija matrice
        i = 1;                 // pocetna vrijednost i
        do {                   // pocetak do-while petlje i 
            j = 1;             // pocetna vrijednost j
            do {                      // pocetak do-while petlje j  
				if (i == j)                   // glavna dijagonala ?
					System.out.print("+");    // glavna dijagonala
				else
					System.out.print("-");    // ostali
                j++;           // slijedeca vrijednost j
            } while (j <= n);      // dok je j <= n ponavljaj - pocetak petlje   // kraj While petlje j
            System.out.println();  // novi red
            i++;               // slijedeca vrijednost i
        } while (i <= n);      // dok je i <= n ponavljaj
    }
}

II varijanta     izbor na glavnoj i ispod glavne dijagonale izvodi se sa while (j <= i)
// 08714047
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int i, j, n;

        System.out.print("Unesi n ");
        n = input.nextInt();   // dimenzija matrice
        i = 1;                 // pocetna vrijednost i
        do {                   // pocetak do-while petlje i
            j = 1;             // pocetna vrijednost j
            do {                      // pocetak do-while petlje j
				if (i != j)                 // nije glavna dijagonala?
					System.out.print("-");  // nije glavna dijagonala
				else
					System.out.print("+");  // glavna dijagonala
                j++;           // slijedeca vrijednost j
            } while (j <= n);  // dok je j <= n ponavljaj
            System.out.println();
            i++;               // slijedeca vrijednost i
        } while (i <= n);      // dok je i <= n ponavljaj
    }
}

III varijanta     izbor na glavnoj i ispod glavne dijagonale izvodi se sa if (j <= i);  input znak .charAt(0)
// 08714047
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int i, j, n;

        System.out.print("Unesi n ");
        n = input.nextInt();   // dimenzija matrice
        System.out.print("Otkucaj znak1: ");   
        char znak1 = input.next().charAt(0);		// znak1
        System.out.print("Otkucaj znak2: ");   
        char znak2 = input.next().charAt(0);		// znak2

        i = 1;                 // pocetna vrijednost i
        do {                   // pocetak do-while petlje i
            j = 1;             // pocetna vrijednost j
            do {               // pocetak do-while petlje j
				if (i == j)                     // glavna dijagonala?
					System.out.print(znak1);    // glavna dijagonala
				else
					System.out.print(znak2);    // ostali
                j++;           // slijedeca vrijednost j
            } while (j <= n);  // dok je j <= n ponavljaj
            System.out.println();  // novi red
            i++;               // slijedeca vrijednost i
        } while (i <= n);      // dok je i <= n ponavljaj
    }
}

IV varijanta     izbor na glavnoj i ispod glavne dijagonale izvodi se sa while (j <= i);  input znak .charAt(0)
// 08714047
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int i, j, n;

        System.out.print("Unesi n ");
        n = input.nextInt();                    // dimenzija matrice
        System.out.print("Otkucaj znak1: ");   
        char znak1 = input.next().charAt(0);    // znak1
        System.out.print("Otkucaj znak2: ");   
        char znak2 = input.next().charAt(0);    // znak2
        i = 1;                 // pocetna vrijednost i
        do {                   // pocetak do-while petlje i
            j = 1;             // pocetna vrijednost j
            do {               // pocetak do-while petlje j
				if (i != j)                 // nije glavna dijagonala?
					System.out.print(znak2);  // nije glavna dijagonala
				else
					System.out.print(znak1);  // glavna dijagonala
                j++;           // slijedeca vrijednost j
            } while (j <= n);  // dok je j <= n ponavljaj
            System.out.println();
            i++;               // slijedeca vrijednost i
        }  while (i <= n);     // dok je i <= n ponavljaj
    }
}

Ispis na ekranu:

Index