000
16.01.2007, 18:15 Uhr
~Rheinfun
Gast
|
Hey Leute,
hab hier mal so nen paar Probleme hoffe ihr könnt mir helfen, also ich muss nen Magisches Quadrate schreiben mit Feldern usw.
Ich hab jetzt eins erstellt mit der Dimension 4, ich kann auch schon die Zahlen eingeben, nur sollen Zahlen net mehrmals auftauchen. Und da hackt es, ich weiss nicht wie ich die Zahlen überprüfen soll und dat zweite Problem ist, dass es nur magisch ist wenn es waagerecht, senkrecht und diagonal die gleiche Summe ergibt ... ich frag mich wie ich die for schleifen schreiben soll damit er nur die ersten 4 zeilen addiert dann die nächsten und die halt überprüft ... hoffe mir kann jemand helfen
C++: |
#include <stdio.h>
enum { DIM = 4 } ; typedef double Matrix[ DIM ][ DIM ];
void lies (Matrix a) { int i, j; for (i=0; i < DIM; i++) { for (j=0; j < DIM; j++) { printf ("Geben Sie ihre Zahl fuer das Feld [ %d ][ %d ] ein: ", i, j); scanf ( "%lf", &a[ i ][ j ]); } } return ; }
void drucke (Matrix a) { int i,j; printf ( "\n"); for( i = 0; i < DIM ; i++) { for( j = 0; j < DIM; j++) printf ( " %.0f ", a[ i ][ j ]); printf ("\n"); } printf ( "\n"); return ; }
void magisch (Matrix a) { int i,j; double summe=0; for( i = 0; i < DIM ; i++) { for( j = 0; j < DIM; j++) { summe=a[ i ][ j ]+summe; // So wie es hier steht addiert er alle Felder zusammen printf ("Waagerecht: %.0f ",summe); } } }
int main (void) { Matrix a; lies ( a ) ; drucke ( a ); magisch ( a ); return 0; }
|
Dieser Post wurde am 16.01.2007 um 20:05 Uhr von FloSoft editiert. |