Algoritmus pomoc
No len v skratke taky navod aj ked myslim, ze to tu uz niekde naisto bolo riesene, pripadne aspo ndaco podobne...z kazdych 4 cislic z dvojkovej ti vznikne jedna v HEX, tak ze das prva cifra*2^3+druha_cifra*2^2+tretia*2^1+stvrta*2^0, cize napriklad ked mas cislo 01101000, tak si to rozdelis na 0110|1000 a z prveho dostavas 4+2=6 a z druheho 8, cize kompelt cislo je 68
..cize dokopy nic tazke ani zlozite
-
profesionale
Amateur
- Príspevky: 21
- Registrovaný: 05 nov 2005, 10:25
Ako chyby som tam nenasiel, aspon ked som to tak zhruba prebehol, ale dalo by sa tam par veci zmenit(na zefektivnenie):
Na zaciatku mas pri nacitavani casov, ze ked min>59, tak nacitava znovu, to iste pri sekundach, tak to by sa dalo riesit aj tak, ze proste zoberes aj cas napr 2:45:95 a len tie sekundy zmenit na 1:35, takze ti vznikne z toho 2:46:35, ale je to vec kazdeho ako si to urci, pripadne, ako je to zadane, takze mozno je to tvoje riesenie este aj spravnejsie.
Tam kde mas tu podmienku, ze ak T=t1-t2 je zaporne tak T=t2-t1, tak mozno by stacilo dat T=|t1-t2| a celu podmeinku vtedy mozes vynechat
Celociselne delenie sa zapisuje podla toho ako kde...naprikald pre pascal je div celeciselene delenie a mod zvysok (kedze si tam pouzil mod, tak predpokladam, ze toto je to co tam potrebujes).
A este na konci, ked pocitas vysledny pocet sekund, tak tam nemusis davat (T mod 3600) mod 60, elbo ked das T mod 60, tak dostanes to iste
a este by sa dalo zapisat aj ako C=T-A-B
Inak na prvy pokus, to bolo pekne
to Shwollo: Pozri prilohu..takto by som to priblizne spravil ja...(+- uz spim, takze tam nejaka chybicka moze byt, len ako inspiraciu si mozes zobrat
)
to profesionale: Dva prispevky nad tym tvojim som napisal priblizny postup, ako by sa to dalo riesit, tak skus podla neho vyplodit aj sam
Na zaciatku mas pri nacitavani casov, ze ked min>59, tak nacitava znovu, to iste pri sekundach, tak to by sa dalo riesit aj tak, ze proste zoberes aj cas napr 2:45:95 a len tie sekundy zmenit na 1:35, takze ti vznikne z toho 2:46:35, ale je to vec kazdeho ako si to urci, pripadne, ako je to zadane, takze mozno je to tvoje riesenie este aj spravnejsie.
Tam kde mas tu podmienku, ze ak T=t1-t2 je zaporne tak T=t2-t1, tak mozno by stacilo dat T=|t1-t2| a celu podmeinku vtedy mozes vynechat
Celociselne delenie sa zapisuje podla toho ako kde...naprikald pre pascal je div celeciselene delenie a mod zvysok (kedze si tam pouzil mod, tak predpokladam, ze toto je to co tam potrebujes).
A este na konci, ked pocitas vysledny pocet sekund, tak tam nemusis davat (T mod 3600) mod 60, elbo ked das T mod 60, tak dostanes to iste
Inak na prvy pokus, to bolo pekne
to Shwollo: Pozri prilohu..takto by som to priblizne spravil ja...(+- uz spim, takze tam nejaka chybicka moze byt, len ako inspiraciu si mozes zobrat
to profesionale: Dva prispevky nad tym tvojim som napisal priblizny postup, ako by sa to dalo riesit, tak skus podla neho vyplodit aj sam
matice
Zdravim ja bi som moc potreboval vyvojak zavisi na nom moj zapocet z UPS. Vitvorte algoritmus ktori urci ci je matica jednotkova. zobrazte maticu aj vysledok. Prosim moc krat daku dobru dusu ktora mi to urobi .. Vopred dakujem velmi pekne
wolfy1304:
Ak si spravne pamatam, tak jednotkova matica moze byt len stvorcova a z tych musi mat na uhlopriecke 1 a na zvysnych poziciach 0.
Aj ked je to len taky "pseudokod" a diagram si uz musis dokreslit sam.
Neviem ako podrobne to musis mat spravene, lebo napriklad vypis a nacitanie matice by si mohol rozpisat podrobnejsie. tu velku podmienku budes musiet porozdelovat pri zakreslovani. Tie dva posledne prikazy( Vypis(matica), Exit) netreba davat dvakrat, staci pouzit sipku.
viki8448:
treba urcit nejaky znak, ktorym sa ukonci nacitavanie znakov, pripadne urcit ci sa ma nacitat iba urcity pocet znakov,...
Tu podmienku treba prepisat na podmienku, kedy sa ma prerusit nacitavanie, cize napriklad ak si zadas, ze nacitavanie konci po nacitani znaku X, tak tam das "dalsi_znak!='X'".
Toto co som tu napisal rata s tym ,ze znak, ktory hladas je zadany na zaciatku pred nacitavanim zvysnych znakov(tak si to ty napisala), ak to ma byt zadane na konci, tak sa to bude musiet riesit inak a zlozitejsie
Pre oboch:
Tie vyvojaky uz hadam nejako zakreslite, treba sa inspirovat tymi tu uz riesenymi prikladmi, pripadne precitat nejaky navod na to. Na nete ich je dost a tych vyvojakov roznych tiez.
Shwollo: treba ti este prekontrolovat ten vyvojak, ci uz je neskoro? Ak este hej, tak napis.
Ak si spravne pamatam, tak jednotkova matica moze byt len stvorcova a z tych musi mat na uhlopriecke 1 a na zvysnych poziciach 0.
Kód: Vybrať všetko
nacitaj matica, rozmer
pre i=1 do rozmer{
pre j=1 do rozmer{
if(((i==j)&&(matica[i,j]!=1))||((i!=j)&&(matica[i,j]!=0))){
Vypis("Nie je")
Vypis(matica)
Exit
}}}
Vypis("Je")
Vypis(matica)
ExitNeviem ako podrobne to musis mat spravene, lebo napriklad vypis a nacitanie matice by si mohol rozpisat podrobnejsie. tu velku podmienku budes musiet porozdelovat pri zakreslovani. Tie dva posledne prikazy( Vypis(matica), Exit) netreba davat dvakrat, staci pouzit sipku.
viki8448:
treba urcit nejaky znak, ktorym sa ukonci nacitavanie znakov, pripadne urcit ci sa ma nacitat iba urcity pocet znakov,...
Kód: Vybrať všetko
pocet = 0
nacitaj(znak) //znak ktoreho pocet vyhladavame v texte
do {
nacitaj(dalsi_znak)
if(dalsi_znak==znak) pocet=pocet+1
while (podmienka)}
Vypis(pocet)Toto co som tu napisal rata s tym ,ze znak, ktory hladas je zadany na zaciatku pred nacitavanim zvysnych znakov(tak si to ty napisala), ak to ma byt zadane na konci, tak sa to bude musiet riesit inak a zlozitejsie
Pre oboch:
Tie vyvojaky uz hadam nejako zakreslite, treba sa inspirovat tymi tu uz riesenymi prikladmi, pripadne precitat nejaky navod na to. Na nete ich je dost a tych vyvojakov roznych tiez.
Shwollo: treba ti este prekontrolovat ten vyvojak, ci uz je neskoro? Ak este hej, tak napis.
Neskontrolujete aj môj diagram algoritmu,ktorý zistí početnosť písmena v texte,ktorý je zadávaný po znakoch?picuge napísal:wolfy1304:
Ak si spravne pamatam, tak jednotkova matica moze byt len stvorcova a z tych musi mat na uhlopriecke 1 a na zvysnych poziciach 0.Aj ked je to len taky "pseudokod" a diagram si uz musis dokreslit sam.Kód: Vybrať všetko
nacitaj matica, rozmer pre i=1 do rozmer{ pre j=1 do rozmer{ if(((i==j)&&(matica[i,j]!=1))||((i!=j)&&(matica[i,j]!=0))){ Vypis("Nie je") Vypis(matica) Exit }}} Vypis("Je") Vypis(matica) Exit
Neviem ako podrobne to musis mat spravene, lebo napriklad vypis a nacitanie matice by si mohol rozpisat podrobnejsie. tu velku podmienku budes musiet porozdelovat pri zakreslovani. Tie dva posledne prikazy( Vypis(matica), Exit) netreba davat dvakrat, staci pouzit sipku.
viki8448:
treba urcit nejaky znak, ktorym sa ukonci nacitavanie znakov, pripadne urcit ci sa ma nacitat iba urcity pocet znakov,...Tu podmienku treba prepisat na podmienku, kedy sa ma prerusit nacitavanie, cize napriklad ak si zadas, ze nacitavanie konci po nacitani znaku X, tak tam das "dalsi_znak!='X'".Kód: Vybrať všetko
pocet = 0 nacitaj(znak) //znak ktoreho pocet vyhladavame v texte do { nacitaj(dalsi_znak) if(dalsi_znak==znak) pocet=pocet+1 while (podmienka)} Vypis(pocet)
Toto co som tu napisal rata s tym ,ze znak, ktory hladas je zadany na zaciatku pred nacitavanim zvysnych znakov(tak si to ty napisala), ak to ma byt zadane na konci, tak sa to bude musiet riesit inak a zlozitejsie
Pre oboch:
Tie vyvojaky uz hadam nejako zakreslite, treba sa inspirovat tymi tu uz riesenymi prikladmi, pripadne precitat nejaky navod na to. Na nete ich je dost a tych vyvojakov roznych tiez.
Shwollo: treba ti este prekontrolovat ten vyvojak, ci uz je neskoro? Ak este hej, tak napis.
Preco mas odlisne znacky na nacitanie Textu a nacitnie hladaneho znaku. Vsak ak chces nacitat oboje, tak by pri oboch mal byt rovnobeznik
A s tym textom by bolo asi lepsie robit ako s polom. Cize napr. prvy znak zapisat ako Text[0] (ak indexujeme od 0). Ako algoritmus je navrhnuty dobre, len je vecou kazdeho ucitela co uzna a co nie. A "vypis" na konci sa tiez oznacuje rovnobeznikom 
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Algoritmus pomoc
No ten algoritmus predtym si mala lepsi ako tento
Nacitavanie "dalsi_znak" musi byt v cykle, lebo takto nacitas len jeden znak a uz sa k tomu nevratis. Trochu nechapem naco ta premenna "succ_znak", vsak staci porovnavat to co mas nacitane v "dalsi_znak", najprv s tym co mas v "znak" a potom s "Nil".
Nacitavanie "dalsi_znak" musi byt v cykle, lebo takto nacitas len jeden znak a uz sa k tomu nevratis. Trochu nechapem naco ta premenna "succ_znak", vsak staci porovnavat to co mas nacitane v "dalsi_znak", najprv s tym co mas v "znak" a potom s "Nil".