begin process at 2010 02 10 08:47:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > LE CARRÉ MAGIQUE

LE CARRÉ MAGIQUE


 Information sur la source

 Description

Ce code source permet de générer et d'afficher le carré magique d'un nombre saisie. Ce nombre doit etre bien sur impair. Ce code a été édité et tester sous linux ( Fedora Core 2 ).
Si vous voulez des explications sur certains points du code, n'hésiter pas à me laisser des commentaires.

Source

  • #include <iostream>
  • #include <vector>
  • #include <iomanip>
  • using namespace std;
  • int carremaj(int n)
  • {
  • vector<int> v(n*n);
  • int i = ((n*n)/2)+n, r = 1;
  • v[i] = r++;
  • while(r <= n*n)
  • {
  • int i2 = (i + (i%n == (n-1) ? +1 : (n+1))) % (n*n);
  • if(v[i2] == 0)
  • v[i = i2] = r++;
  • else
  • v[i = (i + 2*n) % (n*n)] = r++;
  • }
  • for(int a = 0; a < n*n; ++a) {
  • setw(5);
  • if(a%n == 0) cout << endl;
  • cout << v[a] << " ";
  • }
  • cout << endl;
  • return n;
  • }
  • int main()
  • {
  • int n;
  • cout << "Entrer un nombre N qui doit etre impair : " << endl;
  • cin >> n;
  • carremaj(n);
  • return 0;
  • }
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;

int carremaj(int n)
{
  vector<int> v(n*n);
  int i = ((n*n)/2)+n, r = 1;
  v[i] = r++;
  while(r <= n*n) 
  {
    int i2 = (i + (i%n == (n-1) ? +1 : (n+1))) % (n*n);
    if(v[i2] == 0)
        v[i = i2] = r++;
    else
        v[i = (i + 2*n) % (n*n)] = r++;
    }
  for(int a = 0; a < n*n; ++a) {
    setw(5);
    if(a%n == 0) cout << endl;
    cout << v[a] << " ";
  }
  cout << endl;
  return n;
}

int main()
{
  int n;
  cout << "Entrer un nombre N qui doit etre impair : " << endl;
  cin >> n;
  carremaj(n);
  return 0;
}



 Sources du même auteur

LE JEU DE LA VIE EN C++

 Sources de la même categorie

Source avec Zip OPERATION SUR LES MATRICES CARREES AVEC CLASSE GENERIQUE par chouhad
Source avec une capture OPÉRATIONS SUR MATRICES C++ par Minilogus
[DEV-C++] CALCUL DE LA RACINE CARRÉE D'UN RÉEL par Jhep
PROGRAMME QUI CALCUL LE PPCM ET LE PGCD par AnoSantino
EVALUER UNE EXPRESSION MATHÉMATIQUE par begueradj

Commentaires et avis

Commentaire de ymca2003 le 25/02/2005 14:20:01

"Si vous voulez des explications sur certains points du code, n'hésiter pas à me laisser des commentaires"

=> c'est plutôt à toi de mettre des commentaires dans le code pour qu'on sache ce qu'il fait...

Commentaire de dletozeun le 25/02/2005 16:21:08

Oui c'est quoi le carré "magique" d'un nombre impair??

Commentaire de neo_00110010101 le 25/02/2005 18:07:02

ah ? j'pensais pas à ça en voyant "carré magique" :)

Commentaire de Saros le 26/02/2005 21:52:28

Bah c'est un tableau où les sommes des chiffres des lignes, des colonnes et des diagonales sont égales, et dont le nombre de ligne (= nb de colonnes) est impair. Je comprend pas trop pourqoi l'imparité est nécessité, mais bon...

Détaille un peu plus, que ce soit dans la partie réservée pour ça que dans le code lui-même.

Commentaire de betacrack1 le 03/02/2006 13:16:03

C'EST BEAU MAIS DIFFICILE A COMPRENDRE
EST-CE POSSIBLE D'AVOIR UNE EXPLICATION LIGNE PAR LIGNE DE LA FONCTION
CARREMAJ().
MERCI
email:dembadiop@yahoo.fr

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales