Obrovitý problém! – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Obrovitý problém! – C / C++ – Fórum – Programujte.comObrovitý problém! – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Atheo+4
Stálý člen
11. 8. 2012   #1
-
0
-

 Na tomhle fóru se vůbec nic neděje, aspoň ne na C/C++ takže se ptám.. kde tam mam prosím vás chybu? Nejde mi to zkompilovat píše mi to "ERROR FUNKCE UHLY SE MI VUBEC NELIBÍ!" najděte chybu :P aspoň tu nebude nuda.

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

void romenastrany(void);
void pravyuhel(void);
void vysky(void);
void obsah(void);
void uhly(void);

double a,b,c,odmocnina;
int main()
{
    printf("Zadejte velikosti stran A B C:\n");
    if(scanf("%lf %lf %lf", &a,&b,&c) != 3)
        return 0;

    romenastrany();
    printf("\nObvod: %.4f!", a+b+c);
    obsah();
    vysky();
    uhly();
    system("pause");
    return 0;
}
void romenastrany(void)
{
    if(a == b || b == c || c == a)
    {
        if(a == b && b == c )
            printf("Rovnostrany!");

        else
            printf("Rovnorameny!");
    }
    else
        printf("Trojuhelnik neni rovnostranny ani rovnoramenny!");

}

void vysky(void)
{
    double va,vb,vc,vysledek_vysky_a,deleni_vysky_a,vysledek_vysky_b,deleni_vysky_b,vysledek_vysky_c,deleni_vysky_c;
    va = (a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c);
    vysledek_vysky_a = sqrt(va);
    deleni_vysky_a = 2*a;
    vysledek_vysky_a = vysledek_vysky_a/deleni_vysky_a;

    vb = (a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c);
    vysledek_vysky_b = sqrt(vb);
    deleni_vysky_b = 2*b;
    vysledek_vysky_b = vysledek_vysky_b/deleni_vysky_b;

    vc = (a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c);
    vysledek_vysky_c = sqrt(vc);
    deleni_vysky_c = 2*c;
    vysledek_vysky_c = vysledek_vysky_c/deleni_vysky_c;



    printf("vyska a : %.4f!\n",vysledek_vysky_a);
    printf("vyska b : %.4f!\n",vysledek_vysky_b);
    printf("vyska c : %.4f!\n",vysledek_vysky_c);
}
void obsah(void)
{
    double vzorec,obsah1,obsah2,obsah3;
    vzorec = a+b+c;
    vzorec = vzorec/2;
    obsah1 = vzorec-a;
    obsah1 = obsah1*vzorec;
    obsah2 = vzorec-b;
    obsah2 = obsah1*obsah2;
    obsah3 = vzorec-c;
    obsah3 = obsah2*obsah3;
    odmocnina = sqrt(obsah3);
    printf("\nObsah: %.4f!\n", odmocnina);
    /* kruznice vepsana */
    double prumer_kruznice_vepsane;
    prumer_kruznice_vepsane = odmocnina/vzorec;
    printf("Prumer kruznice vepsane = %.4f!\n", prumer_kruznice_vepsane);
}
void uhly(void)
{
    /* Uhel alfa */
    double uhela,uhela1,vysledek_uhela,uhela2,cislo;
    uhela2 = a*a;
    uhela = b*b+c*c;
    uhela1 = 2*b*c;
    vysledek_uhela = uhela-uhela2;
    vysledek_uhela = vysledek_uhela / uhela1;
    cislo = vysledek_uhela;
    vysledek_uhela = acos(vysledek_uhela);
    printf("Uhel alfa = %.4f rad!",vysledek_uhela);
    vysledek_uhela = vysledek_uhela*180/M_PI;
    printf(" %02d'",(int)vysledek_uhela); /* stupne */
    vysledek_uhela = (vysledek_uhela - floor(vysledek_uhela))*60;
    printf(" %02d'",(int)vysledek_uhela); /* minuty */
    vysledek_uhela = (vysledek_uhela - floor(vysledek_uhela))*60;
    printf(" %02d''\n",(int)vysledek_uhela); /* sekundy */

     /* Uhel beta */
    double uhelb,uhelb1,vysledek_uhelb,uhelb2,cislo1;
    uhelb2 = b*b;
    uhelb = c*c+a*a;
    uhelb1 = 2*c*a;
    vysledek_uhelb = uhelb-uhelb2;
    vysledek_uhelb = vysledek_uhelb / uhelb1;
    cislo1 = vysledek_uhelb;
    vysledek_uhelb = acos(vysledek_uhelb);
    printf("Uhel beta = %.4f rad!",vysledek_uhelb);
    vysledek_uhelb = vysledek_uhelb*180/M_PI;
    printf(" %02d'",(int)vysledek_uhelb); /* stupne */
    vysledek_uhelb = (vysledek_uhelb - floor(vysledek_uhelb))*60;
    printf(" %02d'",(int)vysledek_uhelb); /* minuty */
    vysledek_uhelb = (vysledek_uhelb - floor(vysledek_uhelb))*60;
    printf(" %02d''\n",(int)vysledek_uhelb); /* sekundy */

    /* Uhel gama */
    double uhelc,uhelc1,vysledek_uhelc,uhelc2,cislo2;
    uhelc2 = c*c;
    uhelc = a*a+b*b;
    uhelc1 = 2*a*b;
    vysledek_uhelc = uhelc-uhelc2;
    vysledek_uhelc = vysledek_uhelc / uhelc1;
    cislo2 = vysledek_uhelc;
    vysledek_uhelc = acos(vysledek_uhelc);
    printf("Uhel gama = %.4f rad!",vysledek_uhelc) ;
    vysledek_uhelc = vysledek_uhelc*180/M_PI;
    printf(" %02d'",(int)vysledek_uhelc); /* stupne */
    vysledek_uhelc = (vysledek_uhelc - floor(vysledek_uhelc))*60;
    printf(" %02d'",(int)vysledek_uhelc); /* minuty */
    vysledek_uhelc = (vysledek_uhelc - floor(vysledek_uhelc))*60;
    printf(" %02d''\n",(int)vysledek_uhelc); /* sekundy */

    if(cislo == 0 || cislo1 == 0 || cislo2 == 0)
    {
        printf("Trojuhelnik je pravouhly!\n");
    }
    else if(cislo > 0 || cislo1 > 0 || cislo2 > 0)
    {
        printf("Trojuhelnik je ostrouhly!\n");
    }
    else if(cislo < 0 || cislo1 < 0 || cislo2 < 0)
    {
        printf("Trojuhelnik je tupouhly!\n");
    }


    double polomer_kruznice_opsane;

    polomer_kruznice_opsane = sin(vysledek_uhela);
    polomer_kruznice_opsane = polomer_kruznice_opsane * 2;
    polomer_kruznice_opsane = a/polomer_kruznice_opsane;
    printf("Polomer kruznice opsane = %.4f!\n",polomer_kruznice_opsane);

}

Nahlásit jako SPAM
IP: 188.175.140.–
Atheo+4
Stálý člen
11. 8. 2012   #2
-
0
-

#1 Atheo
btw aby bylo jasno nepotřebuji poradit xD já vím co tam mám ale jen tak si projeďte Cčko a nebuďte líný ťunťové a hezky projeďte kód a najděte chybu :) ať se nám tu něco děje.

Nahlásit jako SPAM
IP: 188.175.140.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #3
-
0
-

nejak drzej ne? tohle neni placena podpora lidi tu pomahaji dobrovolne

Nahlásit jako SPAM
IP: 78.102.31.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #4
-
0
-

ajo.. :D pozde sem si precetl co si napsal uz :D fajn zkusim to najit

Nahlásit jako SPAM
IP: 78.102.31.–
Atheo+4
Stálý člen
11. 8. 2012   #5
-
0
-

#4 martin
je to jen takova hra pro lidi co se nudej pac se tu nic nedeje xD tak hned nebud osklivej:D

Nahlásit jako SPAM
IP: 188.175.140.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #6
-
0
-

jo sry :D dobrej napad celkem :D

Nahlásit jako SPAM
IP: 78.102.31.–
Atheo+4
Stálý člen
11. 8. 2012   #7
-
0
-

#6 martin
já vím , nudím se tak jsem napsal ten zdroják :D aby jste se taky nenudili :D a už hledej šmudlo a napiš když něco najdeš :D

Nahlásit jako SPAM
IP: 188.175.140.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #8
-
0
-

hledam hledam neni cas,delam na hre a ucim se qt :D tak pockaj ja uz to najdu

Nahlásit jako SPAM
IP: 78.102.31.–
Atheo+4
Stálý člen
11. 8. 2012   #9
-
0
-

#8 martin
doufám že ten fígl nezjistíš než příjde  někdo jiný to abych pak psal další zdroják:D

Nahlásit jako SPAM
IP: 188.175.140.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #10
-
0
-

no stacilo pridat #define _USE_MATH_DEFINES na zacatek. zacetl sem se do hlavickoveho kodu math.h a bylo to tam :D

Nahlásit jako SPAM
IP: 78.102.31.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #11
-
0
-

nebo je chyba jinde ?

Nahlásit jako SPAM
IP: 78.102.31.–
Atheo+4
Stálý člen
11. 8. 2012   #12
-
0
-

#11 martin
hlavičkový soubory,globální proměnné,názvy funkcí jsou správně :)

Nahlásit jako SPAM
IP: 188.175.140.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #13
-
0
-

takze #define _USE_MATH_DEFINES bez ktereho preklad nejde chybu neresi a chce to projet celej kod?

Nahlásit jako SPAM
IP: 78.102.31.–
Atheo+4
Stálý člen
11. 8. 2012   #14
-
0
-

#13 martin
#include <math.h>

načte celou knihovnu a pokud vím v tom programu to používám jen na pi a odmocnicnu v tomhle problém nehledej to funguje správně

Nahlásit jako SPAM
IP: 188.175.140.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #15
-
0
-

jaaj,dik za zabavu :D to bude asi na dlouho

Nahlásit jako SPAM
IP: 78.102.31.–
Atheo+4
Stálý člen
11. 8. 2012   #16
-
0
-

v to jsem doufal! :D MUHAHAHA nikdo na to nepříjde si myslím :D

Nahlásit jako SPAM
IP: 188.175.140.–
Atheo+4
Stálý člen
11. 8. 2012   #17
-
0
-

#16 Atheo
a az to sem napisu tak si reknete "jeeezis to je ale idiot :D JAA TO VEDEL"

Nahlásit jako SPAM
IP: 188.175.140.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #18
-
0
-

neni tam chytak v tom ze spatne pocita uhly? ja sem ted vychodil zakladku tak na me bud hodnej a nedrt me geometrii

Nahlásit jako SPAM
IP: 78.102.31.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #19
-
0
-

nepis to ja to najdu nejak :D

Nahlásit jako SPAM
IP: 78.102.31.–
vitamin+8
Grafoman
11. 8. 2012   #20
-
0
-

v clangu stacilo dat -lm a  vsetko ide

Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Atheo+4
Stálý člen
11. 8. 2012   #21
-
0
-

#18 martin
nene v počtech to není myslím že výšky mam MATEMATICKY špatně :D to si nejsem jist ale tu jde o programátorskou chybku :p

Nahlásit jako SPAM
IP: 188.175.140.–
Atheo+4
Stálý člen
11. 8. 2012   #22
-
0
-

#20 vitamin
zkompilovat to jde ja vim :D to byl jen takovej chytak:P abych upoutal pozornost :D

Nahlásit jako SPAM
IP: 188.175.140.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #23
-
0
-

takze pocty sou spravne? jo to je fajn to mam sanci najit potom :D

Nahlásit jako SPAM
IP: 78.102.31.–
Atheo+4
Stálý člen
11. 8. 2012   #24
-
0
-

#23 martin
:))) je to me bavi kdyz si nekdo hraje s moji hrackou  :)):D

Nahlásit jako SPAM
IP: 188.175.140.–
crazy
~ Moderátor
+10
Grafoman
11. 8. 2012   #25
-
+1
-
Zajímavé

#22 Atheo
neprojížděl jsem to, ale pravděpodobně tam bude chyba s doublem... že může vyjít úhel třeba 89 stupnu a 60minut... to zaokrouhlování bude zle...

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
Atheo+4
Stálý člen
11. 8. 2012   #26
-
0
-

#25 crazy
to mas pravdu to jsem nesetril ale jak uz jsem rikal chyba neni v poctech

Nahlásit jako SPAM
IP: 188.175.140.–
crazy
~ Moderátor
+10
Grafoman
11. 8. 2012   #27
-
0
-

#25 crazy
a porovnávání doublu je taky "programátorsky" špatně... double_typ == 0 ?

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #28
-
0
-

to bude nejaka blbost.. urcite to bude nejaka blbost kterou prehlidnu i kdyz bych ji normalne neprehlidl tak zrovna ted ji prehlidnu je mi to vic nez jasne

Nahlásit jako SPAM
IP: 78.102.31.–
vitamin+8
Grafoman
11. 8. 2012   #29
-
0
-

#26 Atheo
Tak nam povedz kde sa ta chyba nachadza, ja to skompilujem, spustim, zadam 3 cisla a program funguje. Vysledky vypoctov som nekontroloval.

Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #30
-
0
-

nazev romenastrany je spravne?

Nahlásit jako SPAM
IP: 78.102.31.–
Atheo+4
Stálý člen
11. 8. 2012   #31
-
0
-

#27 crazy
double je spravne pokud vim bere to lf vystup je f no problem v tom to taky neni ale crazy na to prijde zas minutku si myslim xD

Nahlásit jako SPAM
IP: 188.175.140.–
Atheo+4
Stálý člen
11. 8. 2012   #32
-
0
-

#29 vitamin
a ty uz jsi hodne blizko ;) po tomhle komentu uz na to prijdes asi:P

Nahlásit jako SPAM
IP: 188.175.140.–
crazy
~ Moderátor
+10
Grafoman
11. 8. 2012   #33
-
0
-

vrací to 0 když je špatněj vstup? :D :D

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #34
-
0
-

if(cislo == 0 || cislo1 == 0 || cislo2 == 0) v tomhle je problem?vzdavam se ,sem moc blbej. uz sem jen tak zkusil.

Nahlásit jako SPAM
IP: 78.102.31.–
Řešení
crazy
~ Moderátor
+10
Grafoman
11. 8. 2012   #35
-
+1
-
Zajímavé
Vyřešeno Nejlepší odpověď

#34 martin
jde o to, že double bys měl vždy porovnávat s nějakou odchylkou... protože ten double může být 0.000000000001 a na výstup ti to napíše 0.0000 ... ale když dáš if( 0.0000000000001 == 0 ) tak se to nerovná...

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
Atheo+4
Stálý člen
11. 8. 2012   #36
-
0
-

#35 crazy
:D tvl priste si dam vic zalezet az neco budu psat :D vy hledate chyby i tam kde sem rekl ze "v tom to neni jen se mi stim nechtelo tak srat":D   ale jo crazy mas pravdu tam je chyba :D

Nahlásit jako SPAM
IP: 188.175.140.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #37
-
0
-

 uz sem to tu dal jen tak ze zoufalstvi s tim ze to aspon zkusim,posledni vec ktera se mi na tom zdala divna.

Nahlásit jako SPAM
IP: 78.102.31.–
crazy
~ Moderátor
+10
Grafoman
11. 8. 2012   #38
-
0
-

#36 Atheo
tak už nám to řekni... nemáme na to čas :D

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #39
-
0
-

gratuluju crazy :)

Nahlásit jako SPAM
IP: 78.102.31.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #40
-
0
-

kurva to nebylo ono? :D

Nahlásit jako SPAM
IP: 78.102.31.–
Atheo+4
Stálý člen
11. 8. 2012   #41
-
0
-

#39 martin
správná odpověď byla "žádná chyba tam není" :D ale jelikož jsem neveděl že tu budou lidi který mi přijdou že nevyrovnávám double :DDD tak správnou odpověď má crazy :D

Nahlásit jako SPAM
IP: 188.175.140.–
martin
~ Anonymní uživatel
1602 příspěvků
11. 8. 2012   #42
-
0
-

dneska nejak divna nalada :D pardon takovy fakt nebyvam

Nahlásit jako SPAM
IP: 78.102.31.–
Atheo+4
Stálý člen
11. 8. 2012   #43
-
0
-

#41 Atheo
tak gratuluju :D aspon ste si prosvihali Ccko :P:D priste vymyslim neco originalnejsiho a vyrovnam double :D

Nahlásit jako SPAM
IP: 188.175.140.–
crazy
~ Moderátor
+10
Grafoman
11. 8. 2012   #44
-
0
-

#43 Atheo
jasně, dávej nám sem příklady bez chyb abychom ti je tam našli :D to je logika :D

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
Atheo+4
Stálý člen
11. 8. 2012   #45
-
0
-

#44 crazy
:D to bylo pro procviceni at se nenudite :P na logiku neber ohled na tomhle foru se nic nedeje uz par dni :D bud rad za muj kod :*

Nahlásit jako SPAM
IP: 188.175.140.–
vitamin+8
Grafoman
11. 8. 2012   #46
-
0
-

Dobre ze som skoncil z hladanim chyby ked sa to normalne spustilo a valgrind tiez nic nenasiel :)

Nahlásit jako SPAM
IP: 95.105.157.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Atheo+4
Stálý člen
11. 8. 2012   #47
-
0
-

#46 vitamin
jj ty jsi na to sel logicky "program mi nejde zkompilovat" tobe sel .. a chyby nejsou ve funkcich ani v poctech ...:D z toho vypliva ze je to dobre :P myslel jsem ze ti to hned dojde:P 

Nahlásit jako SPAM
IP: 188.175.140.–
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, 50 hostů

Podobná vlákna

Problém v C — založil Robin

Problem — založil Ghosta

Problém — založil Ma.ty

Problém — založil pali6

Problem — založil roonill

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ý