[ nenadmile @ 29.05.2007. 18:40 ] @
Treba mi program za resavanje kvadratne jednacine.hvala unapred! |
[ nenadmile @ 29.05.2007. 18:40 ] @
[ hajduk7 @ 29.05.2007. 19:47 ] @
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"); } [ Mister_rap @ 29.05.2007. 21:39 ] @
Ne 100% nije na to mislio :)
[ Dahaka @ 30.05.2007. 08:49 ] @
Te jednacine moj brat uci sad u drugi razred gimnazije samo nije u c jeziku.
Daj nam primjer neke jednacine pa ce ti ljudi odmah to rijesiti. [ Danijel Bulic @ 30.05.2007. 13:26 ] @
mislim da je mislio na kvadratnu jednadzbu :
ax^2+bx+c=0 [ nenadmile @ 30.05.2007. 13:49 ] @
Da tako nesto.ax^2+bx+c=0.hvala svima!!!
[ Mister_rap @ 30.05.2007. 14:32 ] @
Pa ako ti treba source pomuci se malo pa cemo ti pomoci :)
Evo ti exe fajl koji bi trebao da radi kako treba. Naravno pokreces ga iz cmd-a. [ dux_cro @ 30.05.2007. 16:28 ] @
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. [ Danijel Bulic @ 30.05.2007. 16:49 ] @
Code: printf("Kvadratna jednadzba ima samo jedno rjesenje: %6.2f\n", x1); Mozes li meni pojasniti ovaj dio malo. Zasto si stavio %6.2f ? [ Danijel Bulic @ 30.05.2007. 17: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 ? [ Black3maj @ 30.05.2007. 19:23 ] @
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 [ Danijel Bulic @ 30.05.2007. 19:31 ] @
Nije ono moje :)
Ja sam sve ispravio i pokrene mi program al kad mi ga pokrene i kad ukucam npr. a = 2 pojavi mi se greska koju sam spomenuo u proslom postu. [ Black3maj @ 30.05.2007. 19:40 ] @
Sorry nisam video
a za tvoj problem postoji dosta mogucnosti al aj najverovatniju posto je ovo jednostavan zadatak proveri da li u scanf-u imas adresni operator pored svakog elementa (&) [ Danijel Bulic @ 30.05.2007. 19:45 ] @
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; } [ Black3maj @ 30.05.2007. 19:49 ] @
Znao sam da je scanf
scanf ("%f, &a"); kako si ti napisao ne valja moras scanf ("%f", &a); [ Danijel Bulic @ 30.05.2007. 20:36 ] @
Auuu da, ovo ne smije pod (").
Hvala [ dux_cro @ 31.05.2007. 16:23 ] @
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). Copyright (C) 2001-2024 by www.elitesecurity.org. All rights reserved.
|