C-ben kvadrális mátrix feladatban kell segítség?
Sziasztok!
C-t tanulom, és azt kaptam házinak, hogy egy kvadrális mátrixot töltsek fel véletlenszerűen számokkal, és:
- meg kell határozni az egyes sorokés oszlopok elemeinek az átlagát
- ugyanez a főátlóknál
- trianguláris dolgot is mondott, talán felső háromszög és alsó(?)
A kérdésem, mi a felezőátló és hol van a felső és az alsó háromszög?
Bármi más segítséget, tippet is nagyon megköszönnék! :)
nincs már meg a kód.... annak idején delphi-ben írtunk hasonló mátrix-os háromszöget.....
először is tudod-e egyáltalán mi a kvadrális mátrix és hogyan képezzük?
Tessék, itt van a kész megoldás, nehogy gondolkodni kelljen:
int Matrix[][] = {...}; /* A kvadratikus mátrix */
int Rows = ...; /* A mátrix sorainak száma */
int Cols = Rows; /* A mátrix oszlopainak száma - Ugyebár kvadratikus */
/* Oké, kvadratikus mátrixról van szó (a Rows és Cols értéke egyenlő), de így látszik majd néhány különbség */
int Row; /* Az éppen kiválasztott sor indexe */
int Col; /* Az éppen kiválasztott oszlop indexe */
/* Meghatározzuk az egyes sorok átlagát */
for (Row = 0; Row < Rows; Row++) {
.. double Sum = 0; /* Hogy ne egész osztást végezzünk majd, az összeget lebegőpontosként tároljuk */
.. for (Col = 0; Col < Cols; Col++) Sum += Matrix[Row][Col];
.. printf("%d. sor elemeinek átlaga: %.2f\n", Row, Sum / Cols);
}
/* Meghatározzuk az egyes oszlopok átlagát */
for (Col = 0; Col < Cols; Col++) {
.. double Sum = 0; /* Hogy ne egész osztást végezzünk majd, az összeget lebegőpontosként tároljuk */
.. for (Row = 0; Row < Rows; Row++) Sum += Matrix[Row][Col];
.. printf("%d. oszlop elemeinek átlaga: %.2f\n", Col, Sum / Rows);
}
/* Főátló elemeinek átlaga */
double Sum = 0;
for (Row = 0; Row < Rows; Row++) Sum += Matrix[Row][Row];
printf("A főátló elemeinek átlaga: %.2f\n", Sum / Rows);
Az utolsó pontot pedig fogalmazd meg értelmesen. Gyanítom, LU felbontást kell csinálni, azt így lehet:
Miért nem lehet emberi nyelven fogalmazni a kérdező részéről ? Ezt a feladatot szinte mindig elsózzák a tanárok :) csak más néven ? Mint írtam is nem vagyok diplomás programozó, de szerintem csak egy főátló van, bal fentről jobb alúlra, a másik ami jobb fentről indul az mellékátló - de javítsatok ki ha nem így van.
Ha a háromszögeket nem találja ki akkor egy bugyiba se turkáljon.
Egy újabb nagyképű programozó...
A segítséget azért köszönöm
A többit megoldom én
Egyébként ezt csak feladta a tanár, nem láttam még leírva se.
Az a háromszöges cuccot úgy fogom megcsinálni, hogy Veszem a főátló alatti, aztán feletti dolgokat.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!