lstephanie
-
1 oct. 2012 à 21:12
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024
-
1 oct. 2012 à 22:17
Bonjour Les gens ,
En faite je dois rendre un projet aujourd’hui , c'est un projet qui consiste a réaliser le jeu de la vie <lien> version.C , le problème c'est que j'ai quelque souci de compilation , donc je compte sur la solidarité des internautes pour m'aider a trouver l'erreur
Voici Mon code
// JDV3.cpp : définit le point d'entrée pour l'application console.
//
#include "stdafx.h"
#include <stdio.h>
#include<conio.h>
#include <stdlib.h>
#define MATRICE0 7
#define MATRICE1 9
/****************************************/
/******* Fonctions ********/
/****************************************/
//---------------------Fonction iniatliser Matrice--------------//
void intialisation(int matrice [][MATRICE1 ])
{
int i,j ;
for(i=0;i<MATRICE1;i++)
{
for(j=0; j<MATRICE1; j++)
{
if(i<=j &&i>0 &&j<=7)
matrice[i][j]=1;
else matrice[i][j]=0;
}
}
}
//-----------------------Fonction calcul de nombre de voisin-------------------------//
int nombre_voisins (int matrice[][MATRICE1 ], int ligne, int colonne)
{
int compteur=0; //compteur de cellule
int i =0;
int j=0;
for (i=ligne-1;i<=ligne+1;i++) // parcourir ligne
for(j=colonne-1;j<=colonne+1;j++) //parcourir colones
compteur-=matrice[ligne][colonne]; // retirer cellule du milieu
return compteur;
}
//--------------------------Fonction de Mise a jour //-----------------------------------//
void mise_a_jour(int matrice[ ][MATRICE1 ])
{
int i,j;
int nbr_voisins;
int matrice_densite[MATRICE0][MATRICE0]; // matrice qui compte le nombre de voisins case par case
for(i=0; i< MATRICE0; i++)
for(j=0; j< MATRICE0; j++)
matrice_densite[i][j]=nombre_voisins(matrice,i+1,j+1); // i+1 et j+1 car on passe de la SOUS_MATRICE(matrice0) a la MATRICE(matrice1)
for(i=0; i< MATRICE0; i++)
for(j=0; j< MATRICE0; j++)
{
nbr_voisins=matrice_densite[i][j];
if(nbr_voisins==2)
matrice[i+1][j+1]=1;
else if (nbr_voisins==0 || nbr_voisins==4)
matrice[i+1][j+1]=0;
}
}
//--------------- Fonction trace Ligne---------------------------------------------------//
void ligne(int largeur)
{
int i;
for(i=0; i<largeur; i++)
printf("+-");
printf("+\n");
}
//-------------------------------Fonction afficahge-----------------------------------------//
void affiche_matrice(int matrice[ ][MATRICE1 ])
{
int i,j;
for(i=1; i<=MATRICE0; i++)
{
ligne(7);
for(j=1; j<= MATRICE0; j++)
if (matrice[i][j]==1)
printf("|%c",'*');
else
printf("|%c",'|');
printf("|\n");
}
ligne(MATRICE0);
}
/****************************************/
/******* Main Principale ********/
/****************************************/
int _tmain(int argc, _TCHAR* argv[])
{
int i;
int nbr_cycles;
int matrice[MATRICE1] [MATRICE1 ];
char s[2];
printf("Nombre cycles : ");
scanf_s("%i",&nbr_cycles);
intialisation(matrice);
printf("Céllule au depart : \n");
affiche_matrice(matrice);
printf("Appuyer sur ENTER pour continuer...\n");
gets(s);
for(i=0; i<nbr_cycles; i++)
{
mise_a_jour (matrice);
printf("Céllule apres %d cycles: \n", i+1);
affiche_matrice (matrice);
printf("Pressez sur ENTER pour continuer...\n");
gets(s);
}
//system("pause");
return 0;
}
J'ai l'erreur
1>------ Début de la génération : Projet : JDV3, Configuration : Debug Win32 ------
1> JDV3.cpp
1>c:\users\stephanie\documents\visual studio 2012\projects\jdv3\jdv3\jdv3.cpp(132): error C4996: 'gets': This function or variable may be unsafe. Consider using gets_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\stdio.h(261) : voir la déclaration de 'gets'
======== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 1 oct. 2012 à 22:17
Hello,
C'est un des "soucis" avec Visual Studio. Tu peux, soit chercher dans les paramètres pour utiliser le C standard, (je ne me rappelle plus de mémoire), soit utiliser gets_s() à la place
@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...