Algoritmus pomoc
No neviem, ale myslim, ze v zadani mas, ze mas vypocitat rozdiel a ty mas vo svojom diagrame t1+t2
..a aj tak myslim, ze tam ide skor o ten samotny prevod vysledku na spravny tvar..cize bud odcitas osobitne s m h, prevedies vsetky na s a potom spatne porozdelujes, alebo budes osetrovat budes osetrovat postupne kazdy pripad, t.j. po odcitani ti vznikne napr. s= -5 m=3 h=2, tak das ze ked je s zaporne tak zmensi m o 1.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
navyše to máš úplne zle zakreslené aj keby to bolo správne. Výstupy (teda veci kde máš "zadajte..") majú byť v kosodlžniku a nie obdlžniku. Obdlzniky slúžia na spracovanie. Príkaz "zadám" nemá čo robiť v obdlžniku, nie je to žiadna funkcia. Neviem načo si na začiatku dal t1 a t2 s hodnotami keď ich potom zadávaš...
cawte. Pls mohli by ste mi pomôcť s algoritmom? Potrebujem spraviť vývojový diagram.
Navrhnite algoritmus, ktorí spočíta dve celé čísla na nekonečnom počte rádov. Čísla sú reprezentované ako vektory (číslice sú prvkami vektora). Výsledok má byť reprezentovaný ako vektor.
Lebo ja nechápem ani tomu zadaniu. Ak by ste mi to pls mohli vysvetliť. K+ istá
Diky moc
Navrhnite algoritmus, ktorí spočíta dve celé čísla na nekonečnom počte rádov. Čísla sú reprezentované ako vektory (číslice sú prvkami vektora). Výsledok má byť reprezentovaný ako vektor.
Lebo ja nechápem ani tomu zadaniu. Ak by ste mi to pls mohli vysvetliť. K+ istá
Diky moc
No ak som to ja spravne pochopil, tak mas spravit algoritmus na spocitanie dvoch cisel pricom musis spocitavat po jednotlivych cisliciach, t.j. neico ako ked spocitavaju male deti v skole na papier stylom:
532
275
-----
7
10
7
----
807
neviem presne tie diagramy robit, ze co sa tam musi davata co nie, ale tak taky zhruba postup napisem:
vstup dva vektory, potrebujem 1 premennu na prenos(carry, kludne aj typu bool), jedno pole na vysledok(o velkosti vacsieho cisla+1 cifra)
Spocitas posledne cifry z oboch cisel a ked je viac ako 9 tak odcitas 10 (alebo div 10), carry nasatvis na 1 a do poslednej cifry vysledku ulozis zvysok po odpocitani tej 10 (mod 10). opakujes az kym je aspon v jednom poli este cislica. (dalo by sa vylepsit aj tak, ze ked skonci prve, tak skontrolujes carry,..ale to je zbytocne zlozite na diagram)
532
275
-----
7
10
7
----
807
neviem presne tie diagramy robit, ze co sa tam musi davata co nie, ale tak taky zhruba postup napisem:
vstup dva vektory, potrebujem 1 premennu na prenos(carry, kludne aj typu bool), jedno pole na vysledok(o velkosti vacsieho cisla+1 cifra)
Spocitas posledne cifry z oboch cisel a ked je viac ako 9 tak odcitas 10 (alebo div 10), carry nasatvis na 1 a do poslednej cifry vysledku ulozis zvysok po odpocitani tej 10 (mod 10). opakujes az kym je aspon v jednom poli este cislica. (dalo by sa vylepsit aj tak, ze ked skonci prve, tak skontrolujes carry,..ale to je zbytocne zlozite na diagram)
To iste mam aj ja a tiez tomu nechapem... Tipek mi to vysvetlil, ze to te vektory su ako polia cisel....a cisla sa jednotlivo pocitaju ci co...newem...tes tomu nechapem....Shwollo napísal:cawte. Pls mohli by ste mi pomôcť s algoritmom? Potrebujem spraviť vývojový diagram.
Navrhnite algoritmus, ktorí spočíta dve celé čísla na nekonečnom počte rádov. Čísla sú reprezentované ako vektory (číslice sú prvkami vektora). Výsledok má byť reprezentovaný ako vektor.
Lebo ja nechápem ani tomu zadaniu. Ak by ste mi to pls mohli vysvetliť. K+ istá
Diky moc
algoritmus
potreboval by som pomôcť s algoritmom, neviem si s ním rady. poodpadávali mi cviká a ani na strednej som nemal algoritmy. mam navrhnúť algoritmus, ktorý pre zadaný dátum v tvare dd.mm.rrrr vypise prislusny den v tyzdni.pls help
Kód: Vybrať všetko
#include <stdio.h>
int main(){
int d,m,r,c,mes[12]={11,12,1,2,3,4,5,6,7,8,9,10},cp[4]={4,2,0,5};
char dni[][5]={"Pon","Ut","Str","Stv","Pia","So","Ne"};
scanf("%d.%d.%d",&d,&m,&r);
if(m<3) r--;
c=cp[(r/100)%4];
m=2.6*mes[m-1]-0.2;
d=(d+m+r+r/4+c/4-2*c)%7;
printf("%s",dni[d]);
}No onno to dost zavisi od toho v com by si to robil...ale ja by som to zapisal asi ako pole[length(pole)-1], pricom predpokladam hodnoty indexov od 0..length(pole)-1
//autoeditácia príspevku ( 08 Dec 2009, 10:43 )
//autoeditácia príspevku ( 08 Dec 2009, 10:43 )
No skusil som daco vytvorit, ale diagramy nie su moja silna strankakevin_7 napísal:dakujem ale ako z toho spravit vyvojovy diagram??
No dlzka cisla v cifrach by sa dala zistit aj nasledovnym cyklom:
a zistit takto pred samotnym priklad pocet cislic jedneho a druheho cisla a uz by to nemal byt problem
(aj ked je to par krokov navyse)
Kód: Vybrať všetko
pocet_cislic=1;
while((cislo div 10)!=0)pcoet_cislic++;No minimalne pri tom cyklu(typu for) nemas sipku, ze vlastne kde konci
, takze takto to vyzera ako prazdny cyklus. Pri podmienke x>9 by sipka mala smerovat asi niekde medzi prikazy a nie priamo na nejaky(aj ked isty si nie som).
Ked ti na nejakej cifre vyjde cislo vacsie ako 9, tak ty ho len zmenis o 10 a tu desiatku neposunies na dalsiu cifru
Z toho C[x]:=x nema ist preco aka sipka..to je len jednoduchy prikaz a nie cyklus, tak z neho nema preco neico vychadzat
V tomto algoritme ratas s tym, ze cisla su rovnakej dlzky, keby neboli, tak kazdy int je inicializovany na -2147..., cize by si pripocital k obrovskemu zapornemu cislo jednu cifru z druheho cisla a to by moc pekne asi nedopadlo. A kedze mas v kazdom prvku pola len jednu cifru, tak by bolo asi lepsie zvolit typ poloziek v poli na nejaky Byte alebo ShortWord, ktore su uz aj inicializovane na nulu a zaroven zaberaju menej miesta v pamati.
Hadam som nasiel vsetko
Ked ti na nejakej cifre vyjde cislo vacsie ako 9, tak ty ho len zmenis o 10 a tu desiatku neposunies na dalsiu cifru
Z toho C[x]:=x nema ist preco aka sipka..to je len jednoduchy prikaz a nie cyklus, tak z neho nema preco neico vychadzat
V tomto algoritme ratas s tym, ze cisla su rovnakej dlzky, keby neboli, tak kazdy int je inicializovany na -2147..., cize by si pripocital k obrovskemu zapornemu cislo jednu cifru z druheho cisla a to by moc pekne asi nedopadlo. A kedze mas v kazdom prvku pola len jednu cifru, tak by bolo asi lepsie zvolit typ poloziek v poli na nejaky Byte alebo ShortWord, ktore su uz aj inicializovane na nulu a zaroven zaberaju menej miesta v pamati.
Hadam som nasiel vsetko
meine probleme:)
Zdravim, potrebujem pomoct s algoritmom
Zadanie:
Navrhnite algoritmus, ktorý vypočíta rozdiel dvoch časových údajov zadaných vo forme hh:mm:ss (hodiny, minúty, sekundy) a výsledok zobrazí vo forme hh:mm:ss.
Riesil som to takto:
1. START
2. zadajte T1= v hh:mm:ss
3. T1: if mm>59 else 2.
4. T1: if ss>59 else 2.
5. zadajte T2= v hh:mm:ss
6. T2: if mm>59 else 5.
7. T2: if ss>59 else 5.
Prevod na sekundy a rozdiel
8.T1 = hh:mm:ss = hh*3600 + mm*60 + ss = X
9.T2 = hh:mm:ss = hh*3600 + mm*60 + ss = y
10.T= x - y
11.T: if T<0 else 12.
12.T= y - x
Konvertovanie vysledku do zakladneho tvaru - hh:mm:ss
13. T / 3600 = quotient1 (cele cislo = hod.) = A, reminder1 (zvysok v sec.)
13. reminder1 / 60 = quotient2 (cele cislo v min.) = B, reminder2 (zvysok v sec)= C
14. print A:B:C
15. opakuj > 2.
16. END
Je to ok? A ma niekto skusenosti s kreslenim vyvojovych diagramov?
Aby mi to nejak nacrtol?:)
Vopred dakujem za odpovede...
Zadanie:
Navrhnite algoritmus, ktorý vypočíta rozdiel dvoch časových údajov zadaných vo forme hh:mm:ss (hodiny, minúty, sekundy) a výsledok zobrazí vo forme hh:mm:ss.
Riesil som to takto:
1. START
2. zadajte T1= v hh:mm:ss
3. T1: if mm>59 else 2.
4. T1: if ss>59 else 2.
5. zadajte T2= v hh:mm:ss
6. T2: if mm>59 else 5.
7. T2: if ss>59 else 5.
Prevod na sekundy a rozdiel
8.T1 = hh:mm:ss = hh*3600 + mm*60 + ss = X
9.T2 = hh:mm:ss = hh*3600 + mm*60 + ss = y
10.T= x - y
11.T: if T<0 else 12.
12.T= y - x
Konvertovanie vysledku do zakladneho tvaru - hh:mm:ss
13. T / 3600 = quotient1 (cele cislo = hod.) = A, reminder1 (zvysok v sec.)
13. reminder1 / 60 = quotient2 (cele cislo v min.) = B, reminder2 (zvysok v sec)= C
14. print A:B:C
15. opakuj > 2.
16. END
Je to ok? A ma niekto skusenosti s kreslenim vyvojovych diagramov?
Aby mi to nejak nacrtol?:)
Vopred dakujem za odpovede...
ahojte, aj ja by som mal prosbu o vytvorenie grafu algoritmu, lebo si s tym neviem dat rady, ak by bol niekto ochotny mi ho spravit a navrhnut...
tu je zadanie:
Navrhnite algoritmus, ktorý vypočíta rozdiel dvoch časových údajov zadaných vo forme hh:mm:ss (hodiny, minúty, sekundy) a výsledok vo forme hh:mm:ss
tu je zadanie:
Navrhnite algoritmus, ktorý vypočíta rozdiel dvoch časových údajov zadaných vo forme hh:mm:ss (hodiny, minúty, sekundy) a výsledok vo forme hh:mm:ss
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
hidden11: na štvrtej strane tejto témy si už ten problém riešil, zhodnotenie tvojho vývojakú máš na piatej strane.
algoritmus máš v podstate dobre, až na to že je nejak neštandartne zapísaný. Algoritmy sa formálne popisujú takto, ak ste to ale v škole robili takým spôsobom ako to máš tak ok
algoritmus máš v podstate dobre, až na to že je nejak neštandartne zapísaný. Algoritmy sa formálne popisujú takto, ak ste to ale v škole robili takým spôsobom ako to máš tak ok
alg
Na algoritmoch som v skole nebol (choroba), ale co viem tak robili len graficke zobrazenie algoritmu - vyvojove diagrami.
Tejto problematike venoval cviciaci 1 cviko (co je podla mna malo) + co spoluziaci vraveli, ze sam tomu nechapal (doktorant)...
predmet - Algoritmizacia budeme mat az v dalsom semestri.
Zadanie mame odovzdat v grafickej forme, toto je slovne vyjadrenie mojho zadania....neprihliadaj na strukturu..popis algoritmu som robil 1. krat...
nenasiel by si niekto par minut cas a nenacrtol ho?
dakujem
Tejto problematike venoval cviciaci 1 cviko (co je podla mna malo) + co spoluziaci vraveli, ze sam tomu nechapal (doktorant)...
predmet - Algoritmizacia budeme mat az v dalsom semestri.
Zadanie mame odovzdat v grafickej forme, toto je slovne vyjadrenie mojho zadania....neprihliadaj na strukturu..popis algoritmu som robil 1. krat...
nenasiel by si niekto par minut cas a nenacrtol ho?
dakujem