rendered paste body// Aufgabenstellung: Inverse einer Matrix bilden#include<stdlib.h>#include<stdio.h>#include<conio.h>#include "func.h"int main(int argc, char **argv) {int i,j;int size;int **unit = NULL;float **matrix = NULL;float **imatrix = NULL;int mode; // Matrix-Eingabemodus// Dateirelevanteschar path[255];FILE *open = NULL; // sonst gibts warningsFILE *save = NULL;printf("Aufgabe: Inverse einer Matrix bilden\n--Bitte verwenden Sie lediglich quadratische n x n Matrizen bei denen die Hauptdiagonalelemente != 0 sind--\n\n");printf("Bitte waehlen Sie den Eingabemodus\n(0 = Zufallszahlen von 0-10, 1 = Manuelle Eingabe, 2 = Datei oeffnen): ");scanf("%i", &mode);if (mode == 2){ printf("Bitte geben Sie einen Dateipfad an: "); scanf("%s", path); _open(open, path, &matrix); size = _getsize(open, path); genunitmatrix(&unit, size);}if (mode == 0 || mode == 1){ printf("Bitte geben sie die Groesse der Matrix an (n x n): "); scanf("%i", &size); genmatrix(&matrix, size, mode); genunitmatrix(&unit, size);}printf("\n\nEingegebene Matrix (A):\n");for (i = 0; i < size; ++i) { for (j = 0; j < size; ++j) printf("%8.2f", matrix[i][j]); printf("\n");}printf("\n\nErzeugte Einheitsmatrix (E):\n");for (i = 0; i < size; ++i) { for (j = 0; j < size; ++j) printf("%4i", unit[i][j]); printf("\n");}_invert(&matrix, &imatrix, &unit, size);printf("\n\nInverse Matrix (A^-1):\n");for (i = 0; i < size; ++i) { for (j = 0; j < size; ++j) printf("%8.2f", imatrix[i][j]); printf("\n");}printf("Moechten Sie das Ergebnis speichern? (J/N): ");char c = getche();if (toupper(c) == 'J') { printf("\nyes!");}else { printf("\nno!");}printf("\n"); return EXIT_SUCCESS;}