Kezdőoldal » Számítástechnika » Programozás » C programozás, mátrix feltölté...

C programozás, mátrix feltöltés random számokkal, Vajon egység mátrix-e vagy sem?

Figyelt kérdés

Az a helyzet, hogy programozás vizsgán egy olyan programot kellett írni, hogy egy 10x10-es mátrixot fel kellett tölteni random számokkal, utána el kellett dönteni hogy egység mátrix -e, illetve megkeresni a mátrix elemei közül a legnagyobban és kiíratni, hogy melyik helyen van (sor, oszlop)...


Addig eljutottam hogy fel töltöttem a mátrixot, de tovább nem tudom. tippek? ha tudtok kész algoritmust is adhatnátok.


2011. jan. 13. 21:10
 1/9 anonim ***** válasza:
9%
egy jó tipp: máskor ha segítséget kérsz, ne írd oda, hogy vizsgára kell. Egy, hogy lejáratod magad még ha névtelen is, kettő, hogy meg kellett volna tanulnod. Keress valami szakmai fórumot, a GYIK kimerül a háziasszonyok és a kislányok alap internet készségeinek fejlesztésében.
2011. jan. 13. 21:15
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
Az egységmátrix az egy olyan n*n-es mátrix, aminek a főátlójában csak 1-esek, a többi helyen epdig csak 0-k vannak. A mátrixot két egymásba ágyazott for ciklussal járod be, a ciklusváltozók legyenek i és j. Kezdetben feltételezed, hogy a mátrix egységmátrix (random számok esetén ennek eléggé elhanyagolható a valószínűsége, de mindegy). Ha a főátlóban vagyunk (i == j), és a cella értéke nem 1, akkor nem egységmátrix. Ha nem a főátlóban vagyunk (i != j), és a cellában nem nulla van, akkor szintén nem egységmátrix. Egyébként, ha véget ér mindkét ciklus, akkor egységmátrix. A legnagyobb érték megkereséséhez szükséged lesz három új változóra, egy ami tárolja a maximumot, kettő másik pedig a helyet. Ezt is két egymásba ágyazott for ciklussal csinálod. Kezdetben a max értéke legyen a 0,0 helyen lévő elem értéke. Ha a mátrix bejárása során talál egy olyan elemet, ami nagyobb max-nál, akkor max vegye föl ennek az elemnek az értékét, a két másik változó meg i és j értékét. Amikor véget ér a bejárás, akkor meglesz a legnagyobb elem, és a koordinátái is.
2011. jan. 13. 21:24
Hasznos számodra ez a válasz?
 3/9 A kérdező kommentje:
Az a gond, hogy így nem sokat értek ebből, tehát vagyis nem értem hogy áll az a for ciklus mind a 2résznél... mert bárhogy csinálom nekem nem csinál semmit, lefagy a progi :S
2011. jan. 13. 23:51
 4/9 anonim ***** válasza:
31%
Már ne is haragudj, ha nem érted mi az a for ciklus, akkor mi a túrót keresel prog vizsgán?
2011. jan. 13. 23:53
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
21%
Én azt nem értem, hogy ha sikerült feltölteni a mátrixot, akkor sikerült bejárni is. Tehát vagy mégsem sikerült feltölteni a mátrixot, csak azt hiszed, vagy sikerült, és játszod itt a hülyét, vagy más csinálta meg neked. Ha feltöltöd, akkor már bejártad, ha bejártad, akkor nincs több probléma.
2011. jan. 14. 07:42
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:

hi.

/*maximum keresés*/

max = tomb[0][0];

for(i=0; i<n; i++)

for(j=0; j<n; j++)

{

if(tomb[i][j]>max) max = tomb[i][j];

}

szerintem tuti hogy működik, csak most gyorsan fejből írtam. Javaslat: ha bármi új dologgal ismerkedsz akkor először tanuld meg szabványos bemenetről beolvasni (billentyűzet ) és szabványos kimenetre ( monitor ) kiírni! és aztán minél tovább annál több , bonyolultabb műveletet programozz le!

Melyik egyetemen tanulsz? Én a Miskolci Egyetemen , most készülök programozás vizsgára, sajnos nekünk csak max 1-2 ilyen könnyű feladat van, a többi jóval nehezebb.

2011. jan. 14. 18:00
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:

nah a keresést sikerült megoldani így:

i=0;

j=0;

for ( i=0; i<10; i++ )

{

for ( j=0; j<10; j++ )

{

if ( matrix[i][j] > max )

{

max=matrix[i][j];

maxsor=j;

maxoszlop=i;

}

}

}

printf(" max= %d\n maxsor= %d\n maxoszlop= %d\n",max,maxsor+1,maxoszlop+1);


de amúgy azt nem értem hogy ha elvégre véletlen számokkal kell feltölteni (nem 0 és 1 esekkel), akkor hülye feladatot adott a tanár, nem hiába nem tudtam megoldani elvégre az egységmátrix az az, hogy a fő átlóba csak 1-es van a többibe 0 :) de lehet én gondolkodom hülyén :P

2011. jan. 14. 19:04
 8/9 anonim válasza:

"ha elvégre véletlen számokkal kell feltölteni (nem 0 és 1 esekkel), akkor hülye feladatot adott a tanár"


Az egységmátrix olyan kvadratikus mátrix, aminek minden főátlóbeli eleme 1, a többi 0. A random szám pedig itt nem zárja ki, hogy ilyen legyen. Lehet, hogy mondjuk az egyik szám péládul 3, és akkor már nem egységmátrix, ez igaz, de ettől még nem hibás a feladat szövege.

Nem bántásból, de most komolyan, milyen egyetemre jársz és hogy a túróba jutottál el idáig?

2011. jan. 15. 01:03
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:
Engem is érdekelne, hogy hova jársz, meg hányadéves vagy. Ez egy elég primitív feladat, kb középsuli második osztályába való. Egyébként meg mi a túrót keresel ott, ha EZT nem tudod megoldani?
2011. jan. 19. 14:49
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!