Předmět Autor Datum
Z toho diagramu moc moudrej nejsem, ale algoritmus na násobení matic by měl vypadat nějak takhle: s…
shark.jd 27.11.2010 13:47
shark.jd
Algoritmus kopíruje postup při násobení matice na papíře. Na obrázku je A matice MXN , B je NXP ( c…
hynajs 27.11.2010 13:52
hynajs
http://programujte.com/?akce=clanek&cl=2005080105- vyvojove-diagramy-1-dil hlavne si pozri tu znacku…
MM.. 27.11.2010 13:56
MM..
I<-1,M Tam nie je napisane I<-L,M ?
jano47 27.11.2010 14:44
jano47
Ne, musí to být jednička, jinak by to nedávalo smysl .
hynajs 27.11.2010 14:55
hynajs
Myslim ze uz tomu chapem ale mam este jednu otázku, co a kde by som musel doplnit do diagramu, keby…
jano47 27.11.2010 16:16
jano47
--|---- /Tlač A/ ---|-- --|---- /Tlač B/ ---|--- Tys pochopil algoritmus násobení matic a neumíš d…
JoDiK 27.11.2010 17:01
JoDiK
JA som napisal "myslim" ze tomu chapem :) PS: ako mam tomu chapat ? nie som programator ... --|----…
jano47 27.11.2010 17:47
jano47
http://programujte.com/?akce=clanek&cl=2005080105- vyvojove-diagramy-1-dil si necital? :) Vyvojovy…
MM.. 27.11.2010 18:36
MM..
Precital som si ten clanok. Ci ze takto by to mohlo byt spravne ?
jano47 27.11.2010 18:52
jano47
Jezisko svaty. Nechapes absolutne nic, clanok si mozno cital ale nepochopil si z neho ani pismeno. P…
MM.. 27.11.2010 18:59
MM..
A dalo by sa to aj takto ze by som dopisal ku TLAC C aj A,B ?
jano47 27.11.2010 20:02
jano47
Radši přidej dva rovnoběžníky nad C ( nad je lepší, protože je to zadání :-) ) . poslední
hynajs 27.11.2010 20:52
hynajs
Wow, tak to jsem ještě neviděl ::):-D
oldsoft unreg 27.11.2010 19:13
oldsoft unreg

Z toho diagramu moc moudrej nejsem, ale algoritmus na násobení matic by měl vypadat nějak takhle:

static int [][]  nasob(int [][] matice, int [][] matice2)
    {
int [][]vysledek=new int [matice.length][matice2[0].length];


        int mezi=0;
for(int i=0;i<matice.length;i++)
{
for(int j=0;j<matice[0].length;j++)
{
mezi=0;
for(int k=0;k<matice2.length;k++)
{
mezi+=matice[i][k]*matice2[k][j];
vysledek[i][j]=mezi;
}
}
}

        return vysledek;

Algoritmus kopíruje postup při násobení matice na papíře.

Na obrázku je A matice MXN , B je NXP ( chybí tam test) .
Vnějším cyklem do I načítáš řádky A, pro každý řádek načítáš do J sloupce B.
S je součet, který položíš roven 0 a postupně přičítáš jednotlivé součiny.
Proměnná L obsahuje sloupec řádku I, který násobíš s L-tým řádkem sloupce J.

http://programujte.com/?akce=clanek&cl=2005080105- vyvojove-diagramy-1-dil
si necital? :)

Vyvojovy diagram je zjednoduseny heslovity zapis (na vyjadrenie principu) nemusi tam byt vsetko dopodrobna. "Tlac A" znamena vypisat/vytlacit alebo dat niekam na vystup pole A, ked je to 2rozmerne pole tak samozrejme kazdemu je jasne ze to budu 2 vnorene cykly ktore daju niekam na vystup postupne kazdy prvok pola A.
Do vyvojaku sa to zapise ako Tlac A ptz to je z hladiska vypoctu matice nepodstatne ze jak a kam zapises vysledok, kazdy nech si zapise vysledok jak chce kam chce, vyvojak vypoctu matice bude furt stejny, nezavisle na tom ci tlacis na monitor alebo na papier alebo na stenu alebo ci ten vysledok posles cez internet niekde do FBI centraly :)

Jezisko svaty. Nechapes absolutne nic, clanok si mozno cital ale nepochopil si z neho ani pismeno. Preco chces silou mocou robit nejake vyvojove diagramy?
Program ide od zaciatku do konca. Nemozes tam nacpat ciary jak ta napadne. Ked chces vypisovat A a B napr. na konci tak tam prerusis tu ciaru a drbnes tam vypis A a B napr. pred vypis C, alebo ak to chces vypisovat na zaciatku tak prerusis ciaru niekde na zaciatku apod.

P.S. a tlac (vystup) ma mat sikme bocne hrany (to berem akoze sa ti to narychlo nedalo, ale aj malovani vie kreslit aj usecku sikmo :)

Zpět do poradny Odpovědět na původní otázku Nahoru