Jugendförderverein
Technikschule Aktuell Info und Kontakt Impressum |
Forschen macht Spaß - Jugend gibt Gas| Kooperationen | | Unterwegs mit dem JFV | | Carl Friedrich Gauß | | Computermuseum | | Sonstige Projekte | |
Algorithmus in C
Die Aufgabe: #include <stdio.h> /* Ausgabeprozedur */ void printMatrix(float matrix[3][4]) { int i, j; for (i=0; i<3; i++) { for (j=0; j<4; j++) { printf("[%1.1f]\t",matrix[i][j]); } printf("\n"); } printf("\n"); return; } /* Hauptprogramm */ int main() { int i, ze1, sp1, ze2, sp2; float faktor, summe; float lsg[3], tmp[4]; float matrix[3][4]= { 6, -3, -8, 39, 4, 5,-12, 13, 1, 1, -2, 6 }; /* Auflösen */ for (sp1=0; sp1<=1; sp1++) { ze2=sp1; for (ze1=ze2+1; ze1<=2; ze1++) { faktor=-(matrix[ze1][sp1]/matrix[ze2][sp1]); for (i=0; i<=3; i++) { tmp[i]=matrix[ze2][i]; matrix[ze2][i]=matrix[ze2][i]*faktor; matrix[ze1][i]=matrix[ze1][i]+matrix[ze2][i]; } printMatrix(matrix); } } /* Zurückrechnen */ i=0; lsg[i]=matrix[2][3]/matrix[2][2]; for (ze1=1; ze1>=0; ze1--) { summe=0; for (sp1=2; sp1>ze1; sp1--) { summe=summe+matrix[ze1][sp1]*lsg[2-sp1]; } i++; lsg[i]=(matrix[ze1][3]-summe)/matrix[ze1][ze1]; } /* Lösungsmenge */ for (i=0; i<=2; i++) { printf("[%1.2f]\t\n",lsg[i]); } return 0; } |