Verfügbare Informationen zu "Am-MagischesQuadrat"
Qualität des Beitrags: Beteiligte Poster: vogel - Sullivan - DB - heavyraptor - JomBo Forum: Ex-2MNd Forum Forenbeschreibung: Das ex-offizielle Forum der Klasse 2MNd des Gymnasiums Neufeld - offiziell: www.2mnd.ch.vu aus dem Unterforum: Gymnasium Antworten: 6 Forum gestartet am: Donnerstag 15.02.2007 Sprache: deutsch Link zum Originaltopic: Am-MagischesQuadrat Letzte Antwort: vor 16 Jahren, 11 Monaten, 26 Tagen, 16 Stunden, 46 Minuten
Alle Beiträge und Antworten zu "Am-MagischesQuadrat"
Re: Am-MagischesQuadrat
vogel - 30.04.2007, 16:21Am-MagischesQuadrat
wala, sött loufe...
Code: /**************************************************************************
PROGRAM : MAGICSQ.CPP
COPYRIGHT:
CODED BY :
PURPOSE :
REMARKS :
COMPILE : Borland C++, large memory model
**************************************************************************/
/**************************** Revision history ****************************
REV DATE NAME PURPOSE
---- ----------- ---- -------------------------------------------------
1.00 2-APR-2007
**************************************************************************/
#include <champ.h>
#include <stdlib.h>
void gmain ()
{
cinit( "Magische Quadrate" );
cout << "Erstellen eine magischen Quadrats\n\n"
<< setfill( '-' ) << setw( 80 ) << "-" << setfill( ' ' );
int n;
cout << "Gib die Seitenlänge des Quadrats an: ";
cin >> n;
// Zweidimensionalen Array dynamisch erzeugen.
int ** quadrat = new int*[n];
int i,j;
for ( i = 0; i<n; i++ )
quadrat[i] = new int[n];
// Mit Nullen füllen
for( i=0; i<n; i++ )
for( j=0; j<n; j++)
quadrat[j][i] = 0;
//Füllen
int zahl = 1;
int x=0;
int y=n-1;
int oldx;
int oldy;
do
{
cout << "Startposition X-Achse einlesen:";
cin >> x;
}while(x>=n || x<0);
do
{
cout << "Startposition Y-Achse einlesen:";
cin >> y;
}while(y>=n || y<0);
do
{
if(x==n)
x=0;
if(y<0)
y=n-1;
if(y==n)
y=0;
if(quadrat[x][y]==0)
{
quadrat[x][y] = zahl;
oldx = x;
oldy = y;
x++;
y--;
zahl++;
}else{
x = oldx;
y = oldy+1;
}
}while( zahl <= n*n );
// Ausgabe
for( i=0; i<n; i++)
{
cout << setw( 4*n+1 ) << setfill('-') << "-" << endl;
for( j=0; j<n; j++)
cout << "|" << setw(3) << setfill(' ') << quadrat[j][i];
cout << "|" << endl;
}
cout << setw( 4*n+1 ) << setfill('-') << "-" << endl;
//Prüfen
int pruefen = 0;
int summe = 0;
int summeold = 0;
for( i=0; i<n; i++)
{
for( j=0; j<n; j++)
summe += quadrat[i][j];
if( i>0 )
{
if( summe == summeold )
{
summeold = summe;
summe = 0;
}
else
{
pruefen = 1;
}
}else{
summeold = summe;
summe = 0;
}
}
for( i=0; i<n; i++)
{
for( j=0; j<n; j++)
summe += quadrat[j][i];
if( i>0 )
{
if( summe == summeold )
{
summeold = summe;
summe = 0;
}
else
{
pruefen = 1;
}
}else{
summeold = summe;
summe = 0;
}
}
if( pruefen==0 )
cout << "Dies ist ein magisches Quadrat!" << endl;
else
cout << "Dies ist kein magisches Quadrat!" << endl;
// Dynamische erzeugte Arrays wieder freigeben
for ( i = 0; i<n; i++ )
delete [] quadrat[i];
delete [] quadrat;
getch();
cend();
}
Re: Am-MagischesQuadrat
Sullivan - 30.04.2007, 16:24Re: Am-MagischesQuadrat
vogel hat folgendes geschrieben: wala, sött loufe...
wala????
Merci fürs Programm!!!
Re: Am-MagischesQuadrat
DB - 30.04.2007, 16:40
merci
Re: Am-MagischesQuadrat
DB - 30.04.2007, 16:40
merci
Re: Am-MagischesQuadrat
heavyraptor - 30.04.2007, 16:47
HAIL
Re: Am-MagischesQuadrat
JomBo - 07.05.2007, 22:09Re: Am-MagischesQuadrat
Code: /**************************************************************************
PROGRAM : MAGICSQ.CPP
COPYRIGHT:
CODED BY :
PURPOSE :
REMARKS :
COMPILE : Borland C++, large memory model
**************************************************************************/
/**************************** Revision history ****************************
REV DATE NAME PURPOSE
---- ----------- ---- -------------------------------------------------
1.00 2-APR-2007
**************************************************************************/
#include <champ.h>
#include <stdlib.h>
void gmain ()
{
cinit( "Magische Quadrate" );
cout << "Erstellen eine magischen Quadrats\n\n"
<< setfill( '-' ) << setw( 80 ) << "-" << setfill( ' ' );
int n;
do
{
cout << "Gib die Seitenlänge des Quadrats an: ";
cin >> n;
} while (n<3 && n%2==0)
// Zweidimensionalen Array dynamisch erzeugen.
int ** quadrat = new int*[n];
int i,j;
for ( i = 0; i<n; i++ )
quadrat[i] = new int[n];
// Mit Nullen füllen
for( i=0; i<n; i++ )
for( j=0; j<n; j++)
quadrat[j][i] = 0;
//Füllen
int zahl = 1;
int x=0;
int y=n-1;
int oldx;
int oldy;
do
{
cout << "Startposition X-Achse einlesen:";
cin >> x;
x=x-1;
}while(x>=n || x<0);
do
{
cout << "Startposition Y-Achse einlesen:";
cin >> y;
y=y-1;
}while(y>=n || y<0);
do
{
if(x==n)
x=0;
if(y<0)
y=n-1;
if(y==n)
y=0;
if(quadrat[x][y]==0)
{
quadrat[x][y] = zahl;
oldx = x;
oldy = y;
x++;
y--;
zahl++;
}else{
x = oldx;
y = oldy+1;
}
}while( zahl <= n*n );
// Ausgabe
for( i=0; i<n; i++)
{
cout << setw( 4*n+1 ) << setfill('-') << "-" << endl;
for( j=0; j<n; j++)
cout << "|" << setw(3) << setfill(' ') << quadrat[j][i];
cout << "|" << endl;
}
cout << setw( 4*n+1 ) << setfill('-') << "-" << endl;
//Prüfen
int pruefen = 0;
int summe = 0;
int summeold = 0;
for( i=0; i<n; i++)
{
for( j=0; j<n; j++)
summe += quadrat[i][j];
if( i>0 )
{
if( summe == summeold )
{
summeold = summe;
summe = 0;
}
else
{
pruefen = 1;
}
}else{
summeold = summe;
summe = 0;
}
}
for( i=0; i<n; i++)
{
for( j=0; j<n; j++)
summe += quadrat[j][i];
if( i>0 )
{
if( summe == summeold )
{
summeold = summe;
summe = 0;
}
else
{
pruefen = 1;
}
}else{
summeold = summe;
summe = 0;
}
}
if( pruefen==0 )
cout << "Dies ist ein magisches Quadrat!" << endl;
else
cout << "Dies ist kein magisches Quadrat!" << endl;
// Dynamische erzeugte Arrays wieder freigeben
for ( i = 0; i<n; i++ )
delete [] quadrat[i];
delete [] quadrat;
getch();
cend();
}
so, mit dere "modifikation" sötte eiglech aui gah, wo sötte gah... bi nid sicher, dassis richtig gschribe ha, gloubes aber... (Magic Squares göh nur bi ungrader aazau... und bi grösser glich drü, da sittelengi '1' komplett witzlos isch und unger '0' darfs ja nid gah... negativi sittelengi... sone scheiss^^ (aso spiufäudgrössi vränderet - faus öppis nümm funktioniert!)
usserdäm hani gmacht, dass ganz obe links nid 0,0 isch sondern 1,1... isch viu logischer finge ig (aso schtart-koordinate vränderet - faus öppis nümm funktioniert!)
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum Ex-2MNd Forum
Musik - gepostet von Ivan am Donnerstag 31.05.2007
Christentum = Scheisse - gepostet von heavyraptor am Samstag 21.04.2007
öksnef - gepostet von jamflex am Mittwoch 01.08.2007
Witschi - gepostet von mätthu am Samstag 17.02.2007
Läseprotokoll: Katherina Blum oder so - gepostet von mätthu am Sonntag 13.05.2007
Ähnliche Beiträge wie "Am-MagischesQuadrat"