Labor 2
|
Feladatok: 1. Egy n elemű tömböt inicializáljunk
véletlenszerűen generált számokkal.
2. Egy n elemű tömböt
inicializáljunk
véletlenszerűen generált számokkal.
3. Adott az alábbi módon definiált
MATRIX típus: typedef struct {
int Rows; int Cols; double* Data; // Rows * Cols darab adat } MATRIX_TYPE; typedef MATRIX_TYPE* MATRIX; Írjuk meg az alábbi függvényeket. ( Hibakezelés is szükséges, pl. ha nem lehet összeadni két mátrixot, jelenjen meg hibaüzenet a képernyon, vagy rossz sor/oszlop van megadva a lekérdezésnél, vagy ha nem lehet a főátlót mekeresni, mert nem is négyzetes a mátrix, stb.) Memória kezelés: MATRIX NewMatrix( int Rows, int Cols ); //
helyfoglalas (az adatoknak is)
void DeleteMatrix( MATRIX M ); // a memoria felszabaditasa void CopyMatrix( MATRIX From, MATRIX To ); // mátrix másolás Mátrix I/O műveletek: void PrintMatrix( MATRIX M, FILE* f );
// kiirja a megadott allomanyba a matrixot sor/oszlop formaban void SetMatrixElement( MATRIX M, int Row, int Col, double Value ); // folulirja a megadott sor/oszlopon talalhato elemet double GetMatrixElement( MATRIX M, int Row, int Col ); // lekerdi a megadott sor/oszlopban levo erteket MATRIX GetRow( MATRIX M, int Row ); // a visszateritendo matrix 1*Cols meretu sormatrix MATRIX GetColumn( MATRIX M, int Co l); // a visszateritendo matrix Rows*1 meretu oszlopmatrix void SetRow( MATRIX M, MATRIX Data, int Row ); // a megadott szamu sor folulirasa a Data sormatrixxal void SetColumn( MATRIX M, MATRIX Data, int Col ); // ugyanaz oszlopra MATRIX Diag( MATRIX M ); // a visszateritendo matrix egy sormatrix, ami az M foatlojan levo elemeket tartalmazza Mátrix műveletek: int Same( MATRIX A, MATRIX B );
// megallapitja, hogy a ket matrix egyforma-e MATRIX Transpose( MATRIX M ); // a visszateritendo matrix, a parameter transzponaltja MATRIX IdentityMatrix( int Rows ); // foatlon 1-esek MATRIX ZeroMatrix( int Rows, int Cols ); // csupa 0-as MATRIX OneMatrix( int Rows, int Cols ); // csupa 1-es MATRIX RandomMatrix( int Rows, int Cols ); // veletlenszeru ertekek MATRIX RandomMatrix( int Rows, int Cols ); // veletlenszeru ertekek MATRIX MultiplyByScalar( MATRIX M, double Scalar ); // szorzas skalarral MATRIX MatrixSum( MATRIX A, MATRIX B ); // ket matrix osszege MATRIX MatrixProduct( MATRIX A, MATRIX B ); //ket matrix szorzata double ProdOfElements( MATRIX M ); // az elemek szorzata double SumOfElements( MATRIX M ); // az elemek osszege double MaxElem( MATRIX M ); // a legnagyobb elem double MinElem( MATRIX M ); // a legkisebb elem |