Rovnička – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Rovnička – C / C++ – Fórum – Programujte.comRovnička – C / C++ – Fórum – Programujte.com

 

cumel
~ Anonymní uživatel
12 příspěvků
28. 9. 2012   #1
-
0
-

ahoj, dostala jsem úkol tuto rovnici a vůbec si s tím nevím rady poradíte prosím. mám vypočítat kvadratickou rovnici. zatím mám toto:

#include <stdio.h>
#include <math.h>
int a,b,c;
double d,x1,x2,y,z,x3,pomocna;

int main(int argc, char **argv)
{

printf("Zadej koeficient a : ");
scanf("%d",&a);
printf("a je %d\n",a);

printf("Zadej koeficient b : ");
scanf("%d",&b);
printf("b je %d\n",b);

printf("Zadej koeficient c : ");
scanf("%d",&c);
printf("c je %d\n",c);

double d=b*b-4*a*c;
int x1=(-b+sqrt(d))/(2*a);
int x2=(-b-sqrt(d))/(2*a);
int x3=-b/(2*a);
int z=-b/a;
int y=sqrt(d)/2*a;

if(d>0)
x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);
printf("Rovnice má 2 kořeny %dx1 a %dx2\n",x1,x2);

else(d=0)
x3=-b/(2*a);
printf("Rovnice má jeden kořen %d\n",x3);

if(d<0)
z=-b/a;
y=sqrt(d)/2*a;
printf("Rovnice má výsledek puze v komplexních číslech %d a %d\n",z,y);



return 0;
}

Nahlásit jako SPAM
IP: 82.100.30.–
KIIV
~ Moderátor
+43
God of flame
28. 9. 2012   #2
-
0
-

no kdyz je d zaporne tak musis do sqrt hodit kladne .. tj  -d  jinak to asi moc nepobezi

pokud mas d==0 tak nemusis pocitat x3.. x1 a x2 vyjdou presne stejne

pak tam mas zahadnou sekci:

int x1=(-b+sqrt(d))/(2*a);
int x2=(-b-sqrt(d))/(2*a);
int x3=-b/(2*a);
int z=-b/a;
int y=sqrt(d)/2*a;

ktera zpusobi ze se prekryjou  x1 x2 typu double za inty a inty nemaj zadnou desetinnou cast

+ koeficienty muzou byt taky treba 0.5 2.1123 66675.234

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
cumel
~ Anonymní uživatel
12 příspěvků
28. 9. 2012   #3
-
0
-

takže tu záhadnou část mám smáznout jo?

Nahlásit jako SPAM
IP: 82.100.30.–
KIIV
~ Moderátor
+43
God of flame
28. 9. 2012   #4
-
0
-

pro zacatek ano

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
cumel
~ Anonymní uživatel
12 příspěvků
28. 9. 2012   #5
-
0
-

tak já jsem to smázla a upravila a háže mi to zatím vypsané a b c , ale ne výpočet

Nahlásit jako SPAM
IP: 82.100.30.–
KIIV
~ Moderátor
+43
God of flame
28. 9. 2012   #6
-
0
-

no pak if vykona jediny prikaz ... pokud jich tam chces mit vic musis pouzit takzvany blok prikazu :

if(d>0) {
  x1=(-b+sqrt(d))/(2*a);
  x2=(-b-sqrt(d))/(2*a);
  printf("Rovnice má 2 kořeny %dx1 a %dx2\n",x1,x2);
} else if (d == 0) {
  x3=-b/(2*a);
  printf("Rovnice má jeden kořen %d\n",x3);
} else {
  z=-b/a;
  y=sqrt(d)/2*a;
  printf("Rovnice má výsledek puze v komplexních číslech %d a %d\n",z,y);
}

pak  else  nema NIKDY podminku...  cisla se porovnavaji pomoci operatoru  ==  ne pomoci  = (to je prirazeni do promenne)

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
ingiraxo+15
Grafoman
28. 9. 2012   #7
-
0
-
Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
cumel
~ Anonymní uživatel
12 příspěvků
28. 9. 2012   #8
-
0
-

oukej, jo to = jsem veděla, ale zapomněla díky :-) a když tam mám double tak se musí změnit %d na %f??

Nahlásit jako SPAM
IP: 82.100.30.–
KIIV
~ Moderátor
+43
God of flame
28. 9. 2012   #9
-
0
-

#8 cumel
pro double by melo byt dokonce  %lf  - %f je pro float

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
cumel
~ Anonymní uživatel
12 příspěvků
28. 9. 2012   #10
-
0
-

#9 KIIV
ouk, už mi to celkem šlape až na toto indooo co to je prosím?

Nahlásit jako SPAM
IP: 82.100.30.–
KIIV
~ Moderátor
+43
God of flame
28. 9. 2012   #11
-
0
-

odmocnina zaporneho cisla?  kdyz je d < 0 tak to chce odmocnovat  -d (jak uz sem zminoval)

mimochodem klicka do komplexnich cisel je diky tomu, ze kdyz odmocnujeme -1 vznikne komplexni jednotka i   (tj rozdeli se to na  odmocninu z -1 => i  a odmocninu z |d|)

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
cumel
~ Anonymní uživatel
12 příspěvků
28. 9. 2012   #12
-
0
-

#11 KIIV
aha ale mě to tam vyskakuje skoro u každého počítání

Nahlásit jako SPAM
IP: 82.100.30.–
KIIV
~ Moderátor
+43
God of flame
28. 9. 2012   #13
-
0
-

no je to proste chyba vypoctu.. neco pro co se v matematice obvykle delaji  podminky resitelnosti...

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
cumel
~ Anonymní uživatel
12 příspěvků
28. 9. 2012   #14
-
0
-

jo musím tam ještě udělat podmínky když a se rovná 0 a když b se rovná nule

Nahlásit jako SPAM
IP: 82.100.30.–
KIIV
~ Moderátor
+43
God of flame
28. 9. 2012   #15
-
0
-

na co?  a == 0 neni kvadraticka rovnice

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
KIIV
~ Moderátor
+43
God of flame
28. 9. 2012   #16
-
0
-

   

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

double a,b,c;
double d,x1,x2,y,z;

int main(int argc, char **argv) {

  printf("Zadej koeficient a : ");
  scanf("%lf",&a);
  printf("a je %lf\n",a);

  printf("Zadej koeficient b : ");
  scanf("%lf",&b);
  printf("b je %lf\n",b);

  printf("Zadej koeficient c : ");
  scanf("%lf",&c);
  printf("c je %lf\n",c);

  d=b*b-4*a*c;

  if (d>0) {
    x1=(-b+sqrt(d))/(2*a);
    x2=(-b-sqrt(d))/(2*a);
    printf("Rovnice má 2 kořeny %lfx1 a %lfx2\n",x1,x2);
  } else if ( d==0 ) {
    x1=-b/(2*a);
    printf("Rovnice má jeden kořen %lf\n",x1);
  } else {
    z=-b/a;
    y=sqrt(-d)/(2*a);
    printf("Rovnice má výsledek pouze v komplexních číslech %lf a %lf\n",z,y);
  }

  return 0;
}
Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
cumel
~ Anonymní uživatel
12 příspěvků
28. 9. 2012   #17
-
0
-

#16 KIIV
Děkuju moc moc moc moc :-)) 

Nahlásit jako SPAM
IP: 82.100.30.–
KIIV
~ Moderátor
+43
God of flame
28. 9. 2012   #18
-
0
-

no a v cem byl rozdil?

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
cumel
~ Anonymní uživatel
12 příspěvků
28. 9. 2012   #19
-
0
-

#18 KIIV
měla jsem int a b c a tys tam dal double

Nahlásit jako SPAM
IP: 82.100.30.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 44 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý