• 16 odgovora
  • 14.622 pregleda
Re: Kako napisati program za resavanje kvadratne jednacine??? 29.05.2007. u 19:47 · pre 236 meseci #2
Kako za kvadratne jednacije jel si na ovo mislio
Code:
#include <stdio.h>
#include <stdlib.h>
main() 
{
    int a,b;
    printf("Unesi broj\n");
    scanf("%d",&a);
    b=a*a;
    printf("Kvadrat unetog broja je %d",b);
    system("pause");
}
Potpis
Ako te snadje muka pozovi hajduka
Pazi se hajduka ako ga snjadje muka
Re: Kako napisati program za resavanje kvadratne jednacine??? 30.05.2007. u 16:28 · pre 236 meseci #8
Makar nije po pravilima foruma (trebao bi sam početi pa će ti ljudi pomoći - uvijek do sad su pomogli) evo kod-a.
Probaj ga shvatiti, ukoliko nešto nije jasno, pitaj, objasniti ćemo ti

Code:

#include <stdio.h>
#include <math.h>

int main() {
  float a,b,c;      
  float x1, x2;      
  float d;

  printf("Upisite koeficijente kvadratne jednadzbe (ax^2 + bx + c = 0):");
  printf("\na: ");
  scanf("%f",&a);
  printf("\nb: ")
  scanf("%f",&b);
  printf("\nc: ");
  scanf("%f",&c);

  d = b*b - 4*c;
  if (d<0) {
    printf("Kvadratna jednadzba nema realna rjesenja!\n");
  }
  else if (a == 0) {
    x1 = -b/c;
    printf("Kvadratna jednadzba ima samo jedno rjesenje: %6.2f\n", x1);

  else if (d == 0) {
    x1 = -b/(2*a);
    printf("Kvadratna jednadzba ima samo jedno rjesenje: %6.2f\n", x1);
  }
  else {
    x1 = sqrt(d) - b)/(2*a);
    x2 = -(sqrt(d) + b)/(2*a);
    printf("Rjesenja kvadratne jednadzbe su: %6.2f, %6.2f\n", x1, x2);
  }
   return 0;
}



Ovo je jednostavnije rješenje tj. ne radi ukoliko su rješenja kompleksna.

Pozdrav
I.
Potpis
Of all the things I have lost I miss my mind the most...
Re: Kako napisati program za resavanje kvadratne jednacine??? 30.05.2007. u 17:10 · pre 236 meseci #10
Jos jedno pitanje...

Programirao sam program koji je spomenut iznad, ali kad ga kompajliram i pokrenem te upisem vrijednost koeficijenta a javlja mi gresku :

Citat:
kvadratna jednadzba.exe has encountered a problem and needs to close. We are sorry for the inconvenience


Znate, ona sa opcijama send error report i dont send.

Zna li neko kako rijesiti ovaj problem ?
Potpis
ex. malak
Re: Kako napisati program za resavanje kvadratne jednacine??? 30.05.2007. u 19:23 · pre 236 meseci #11
Ovo si mogao sam da ispravis u kompajleru da ti sve greske
1.printf("\nb: ") nemas ; na kraju
2. x1 = sqrt(d) - b)/(2*a); jos jedna zagrada na pocetku
3. else if (a == 0) {
x1 = -b/c;
printf("Kvadratna jednadzba ima samo jedno rjesenje: %6.2f\n", x1);

ovaj else nema } na kraju
+imas gresaka u algoritmu samom npr stavi za vrednosti a,b,c 0,1,2 respektivno i videces u cemu je greska
Re: Kako napisati program za resavanje kvadratne jednacine??? 30.05.2007. u 19:45 · pre 236 meseci #14
Provjerio, imam.

Ali evo kod ako netko nesto uoci.

Code:

#include <stdio.h>
#include <math.h>

int main ()
{
float a, b, c;
float x1, x2;
float d;

printf ("Upisite koeficijente kvadratne jednadzbe : ax^2+bx+c=0 : ");
printf ("\na : ");
scanf ("%f, &a");
printf ("\nb : ");
scanf ("%f, &b");
printf ("\nc : ");
scanf ("%f, &c");

d = b*b - (4*a*c);
if (d<0)
{
printf ("Kvadratna jednadzba nema realna rjesenja!\n");
}
else if (a == 0)
{x1 = -b/c;
printf ("Kvadratna jednadzba ima samo jedno rjesenje: %6.2f\n", x1);
}
else if (d == 0)
{
x1 = -b/(2*a);
printf ("Kvadratna jednadzba ima samo jedno rjesenje: %6.2f\n", x1);
}
else
{
x1 = sqrt (d - b)/(2*a);
x2 = -(sqrt)(d + b)/(2*a);
printf ("Rjesenja kvadratne jednadzbe su: %6.2f, %6.2f\n", x1, x2);
}

return 0;

}
Potpis
ex. malak
Re: Kako napisati program za resavanje kvadratne jednacine??? 31.05.2007. u 16:23 · pre 236 meseci #17
Ispricavam se na greskama, nisam provjeravao, al logika je dobra, a to je ono bitno da shvatiš.
što se tiče %6.2f - to je format ispisa, broj vodećih znamenki i znamenki iza točke. Prva znamenka (6) određuje ukupnu duljinu rezultata, a znamenka iza točke (2) oderđuje koliko će biti znamenki iza točke.
Više o tome možeš naći na : http://www.phim.unibe.ch/comp_...manual/C/FUNCTIONS/format.html (Precision).
Potpis
Of all the things I have lost I miss my mind the most...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme