24.2.3.24010450. Napisati program koji traži da se unesu koeficijenti a, b i c kvadratne jednačine a x2 + b x + c = 0 a koji zatim računa i ispisuje njena rješenja. Program napraviti tako da se pri svakom unosu koeficijenta uvijek čitaju “svježi” podaci, bez obzira što je pri unosu prvog koeficijenta korisnik eventualno odmah unio tri podatka (uputa: koristite cin.ignore). Predvidjeti i mogućnost postojanja kompleksnih rješenja. Ukoliko su rješenja realni brojevi, rezultat treba da se ispiše u formi realnog broja, a ne kao uređeni par realnih brojeva. Program treba da predvidi i sve specijalne slučajeve (za a = 0, jednačina se svodi na linearnu, tako da imamo samo jedno rješenje, ukoliko je ujedno b <> 0; za a = b = 0 i c <> 0 nema rješenja, dok je za a = b = c = 0 jednačina identički zadovoljena za svaku vrijednost x).

Opis rješenja:

Listing programa:

package zadaci;
import java.util.Scanner;
public class Zadatak24010450 {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("Unesite parametre jednacine a,b,c=");
		double a = input.nextDouble();
		double b = input.nextDouble();
		double c = input.nextDouble();
		double x1;
		double x2;

		if ((b * b) < (4 * a * c))
			System.out.println("Rjesenja jednacine su kompleksna!");
		else if (a == 0) {
			x1 = -1 * (c / b);
			System.out.println("Rjesenje jednacine je jedno i iznosi:" + x1);
		}

		else if (a == 0 && b == 0 && c == 0)
			System.out.println("Rjesenje je svako x iz skupa realnih brojeva!");
		else {
			x1 = (-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a);
			x2 = (-b - Math.sqrt(b * b - 4 * a * c)) / (2 * a);
			System.out.println("Rjesenja jednacine su: X1=" + x1 + " X2=" + x2);
		}
	}
}

Ispis na ekranu:

Riješeni zadaci 2    Index