C podmínky
Zdravím, mám tento zdrojový kód:
#include<stdio.h>
int main()
{
int a,b;
printf("zadej první hodnotu: ");
scanf("/i",&a);
printf("zadej druhou hodnotu: ");
scanf("%i",&b);
if(a>b)
{
printf("\n");
printf(" * * **\n");
printf("* * * * *\n");
printf("* * * **\n");
printf("*** * * *\n");
printf("* * * **\n");
}
if(a<b)
{
printf("\n");
printf("** * *\n");
printf("* * * * *\n");
printf("** * * *\n");
printf("* * * ***\n");
printf("** * * *\n");
}
getchar();getchar();
}
potřeboval bych poradit jak mám udělat aby se podmínky vykonaly až potom co zadám druhou hodnotu.
díky všem za rady .
Změna kategorie, původně: Software (Kurt)
Pri čítaní prvého vstupu si uprav /i na %i. A len tak mimochodom, A>B je to isté ako B<A.
sem slepej... díky moc
ještě jedna otázka jak mám udělat aby se mi ten program vyresetoval abych mohl zadat další 2 hodnoty ?
obal to este do cyklu: do..while a bude sa ti vracat na zaciatok napriklad az do vtedy, kym mu nezadas nejakym stlacenim klavesy, ze koniec.
ehmm jak se to dělá ? :D
super :D ale nevím co kterej řádek dělá :D
jak to mám zakomponovat do toho svého zdrojáku ?
už sem to pochopil díky ... :D
potřeboval bych poradit s podmínkou pro toto zadání: "zadej 3 hodnoty a vypiš nejmenší".
včem díky za rady
Nevíš jak porovnat 2 čísla?
3 čísla a aby se vypsalo vždy to nejmenší
Porovnávání libovolného počtu čísel se dá rozložit do posloupnosti porovnání 2 čísel.
Mám tento zdroják
ale nedělá to to co bych chtěl .
jak bych to mohl upravit ?
Když už tak
A co když se ty čísla budou rovnat? Lepší je udělat vyhodnocování hned během zadávání.
je to uděláný tak že číasla se nikdy rovnat nebudou. chci se zeptat co přesně dělá "&&"
Pokiaľ viem znamená to "a zároveň"
to mi pomohlo ale stále tuje problém že když:
if (a<b && b<c) printf("nejmesi hodnota je: %i ",a);
if (a<b && b>c) printf("nejmensi hodnota je: %i ",a);
if (b<a && a<c) printf("nejmensi hodnota je: %i ",b);
if (b<a && c<a) printf("nejmensi hodnota je: %i ",b);
if (c<a && a<b) printf("nejmensi hodnota je: %i ",c);
if (c<a && a>b) printf("nejmensi hodnota je: %i ",c);
to má vypsat proměnou C tak to vpíše A
if (a<b && b>c)
Dosaď si tam A = 2, B = 3, C = 1.
Když už to řešíš přes několik ifů, tak to aspoň dělej pořádně. Máš 3 čísla, potřebuješ pouze 3 ify.
nemůžu tam dat A=2, B=3 C=1 protože když tam zadám nějaký jiný číslo tak to nebude fungovat .
Cože?
teď sme se asi nepochopili co si myslel tím dosazení co mám kam dosadit ?
Do té podmínky, kterou jsem tam napsal.
udělá to toto:
Já vím, co to udělá. Dosaď si ty čísla ručně na papír. Pokud tě to ani potom netrkne, tak už nevím.
vypsal sem si ty kombinace těch čísel... ke každýmu sem si napsal podmínku. ale utoho "c" (třetí číslo) po splnění podmínky to vypisuje "A"
( na papír sem si to vypsal asi před 4h)
Ach jo.
if (a<b && b>c)
Dosaď si tam A = 2, B = 3, C = 1.
2 < 3 && 3 > 1
vždyť tak to mám v tý druhý podmínce, takže se mi vypíše is tím "C".
V té druhé podmínce se vypíše A.
ano to je ok ale když toto "a<b && b>c" dosadím do 5 podminky tak se mi vypíše 5 a 2 podminka
můžeš to prosímtě napsat jako pro blbečla ?
Potřebuješ pouze 3 ify (případně 2, pokud použiješ i else), ale musí být správně napsané. Ty tvoje nejsou správně napsané.
Otázka k zamyšlení: Máš 3 čísla, jakou vlastnost musí splňovat nejmenší z nich ve vztahu k ostatním dvěma?
musí být nejmenší
Tak jinak. Předpokládejme, že nejmenší je číslo B. Jakou musí mít vlastnost ve vztahu k A a jakou ve vztahu s C? Zapiš to matematickými symboly.
b<a b<c
A teď se podívej na svůj kód. Máš tam někde tuhle podmínku?
asi to mám... díky za tvůj čas
To je jedno, kolik čísel. Porovnáš první dvě, nižší si poznamenáš. S tím pak porovnáš třetí, opět si poznamenáš to nižší (buď to bude stejné - nebo přepíšeš původní "zapamatování"). A tak můžeš pokračovat furt pryč. Udělej si na to "programově čistý" cyklus (pro 3 čísla je to na hraně rentability, vím).
Céčko neznám. Ve Fortranu bych to před sto lety napsat uměl.
edit: Wikan mě předběhl