begin process at 2012 02 07 09:42:36
  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 UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

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 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 6,802 sec (3)

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