Vedel by mi niekto poradit ako sa dá v C++ naprogramovat transponovaná matica t.j. z matematickeho hladiska dvojrozmerne pole ktoreho ulohou je aby sa riadky stali stlpcami a stlpce riadkami. Dakujem
Fórum › C / C++
Transponovavná matica
Transponovná matice k matice A(m,n) je matice A(n,m) - prohodíš řádky a sloupce. Psáno z hlavy:
int Matrix[5][3];
int Matrix2[3][5]; // nova matice
for(int i = 0; i < 5; ++i)
for(int j = 0; j < 3; ++j)
Matrix2[j][i] = Matrix[i][j];
Toť vše.
Tak takto ako to Jura_ naznacil to nepojde, teda pojde, ale nebude to transponovana matica ale matica symetricka... Pretoze napr. mas prvky [1][2] = 5 a [2][1] = 6, podla neho ti do [2][1] da [1][2] cize 5 ale nasledne ked to bude chciet prehodit do [1][2] prvok [2][1] tak tam da zase5...
Ja by som to riesil dvojrozmernym polom pointerov na int, a tam by som len menil hodnoty, kam budu pointre ukazovat...
Alebo treba na to 2 polia...
Inak to je logicke, ze sa nedaju prehodit hodnoty 2 premennych bez tretej pomocnej...
Inak to je logicke, ze sa nedaju prehodit hodnoty 2 premennych bez tretej pomocnej...
muhehe logika klame, pokusim se najit priklad kamarada ktery to dokazal
edit:
z builderu a od zitmena:
Co takhle takhle?
x=x-y
y=y+x
x=y-x
Samozrejme to funguje jen u cisel.
jo uz sem to nasel:
x = x ^ y;
y = x ^ y;
x = x ^ y;
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Inverzna matica v C — založil Afro
Matica- horná trojuholnikova v C — založil morfeus
Matica + minimálni prvok — založil borec242
Moderátoři diskuze