begin process at 2012 02 12 13:23:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

maths et autres


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

maths et autres

vendredi 2 mai 2008 à 00:19:52 | maths et autres

jeanphilippe37

Membre Club

Slt,

j'ai fais un prgm de maths pour savoir les nbrs premiers mais, quand je mets system("pause"), j'ai une erreur, pouvez vous me corriger ?

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int estPremier (int nbr)
{
  /*Les nombres premiers < 100*/
  static int prems[] = {2,3,5,7,11,13,17,19,23,29,31,37,41,
                        43,47,53,59,61,67,71,73,79,83,89,97};
  int i, n;
  double d;


  /* On suppose que 1 est premier */
  if (nbr == 1)
  {
    return 1;
  }
 
  n = sizeof (prems) / sizeof (*prems);

  /* D'abord on regarde si n est divisible par les nombres premiers dans le tableau */
  for (i = 0; i < n; i++)
  {
    if (nbr == prems[i])
    {
      return 1;
    }
    if (nbr % prems[i] == 0)
    {
      return 0;
    }
  }
 
  /* Ensuite, on doit regarder a partir du dernier element du tableau+2 jusqu'a sqrt(nbr)... */
  d = sqrt (nbr) + 0.5; /* Le 0.5 permet de tester si c'est un carre parfait... */
  i = prems[i-1] + 2;

  while (i < d)
  {
    if (nbr % i == 0)
    {
      return 0;
    }
    i += 2;
  }
  return 1;
}

int main(void)
{
  int i;

  for (i = 101; i < 500; i++)
  {
    if (estPremier (i))
    {
      printf ("%d\n",i);
    }
  }
system("pause");
  return 0;
}


Et également, j'aimerai faire un truc sur l'annimation en c++ sur "console" en c++, comment on fais ça ? et aussi, quelles sont les dimentions de l'écran console ? Pour un jeux ds ce mode, est-ce facile ou pas ?
egalement, pour un jeux en 2d avec scriptes, comment on fait, j'aimerai trouver la bibliothéque scripte, ou je peux la choper ?

merci bcp
jph

J-Ph

vendredi 2 mai 2008 à 01:38:50 | Re : maths et autres

jfrancois

Réponse acceptée !
Bonsoir,

Ce calcul est incorrect :  n = sizeof(prems) / sizeof(*prems);
C'est  n = sizeof(prems) / sizeof(int); (c'est un tableau de "int")
Ce n'est qu'un hazard si le résultat est juste parce que sizeof(pointeur) = sizeof(int) !!!

Jean-François

vendredi 2 mai 2008 à 02:06:00 | Re : maths et autres

SAKingdom

Membre Club
Réponse acceptée !
Ce calcule est parfaitement correct. Ce n'est pas la taille d'un pointeur que l'on calcule mais la taille de la valeur pointée par le pointeur.

char c[] = "Bonjour";
printf("%d\n", sizeof(*c));

Affiche bien 1

C++ (@++)

vendredi 2 mai 2008 à 02:07:46 | Re : maths et autres

SAKingdom

Membre Club
Réponse acceptée !
Au passage, c'est quoi l'erreur que provoque system("pause") ?

C++ (@++)

vendredi 2 mai 2008 à 09:44:15 | Re : maths et autres

jfrancois

Réponse acceptée !
Ce n'est pas la taille d'un pointeur qui est calculée mais tout simplement le nombre de valeurs dans le tableau prems (tableau d'entiers et non tableau de pointeurs) et je n'ai rien rigoureusement à changer à ce que j'ai écris !


Jean-François

vendredi 2 mai 2008 à 10:28:42 | Re : maths et autres

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !

sizeof() devrait donner la taille totale du tableau dans le cas de l'exemple car le tableau est connu de la fonction.
On devrait donc avoir le nombre d'éléments dans n.
Si c'était un param, ce serait bien sizeof(int) à en retour.

Faut absolument se méfier de ce genre de syntaxe et ne pas en prendre l'habitude, source de bugs difficile à retrouver.

ciao...
BruNews, MVP VC++

vendredi 2 mai 2008 à 13:34:03 | Re : maths et autres

jeanphilippe37

Membre Club
re,

merci, mais l'erreur quand je le compile avec sytem("pause") j'ai une erreur de compilation, comment dois-je faire ?
Et également, j'aimerai faire un truc sur l'annimation en c++ sur "console" en c++, comment on fais ça ? et aussi, quelles sont les dimentions de l'écran console ? Pour un jeux ds ce mode, est-ce facile ou pas ?
egalement, pour un jeux en 2d avec scriptes, comment on fait, j'aimerai trouver la bibliothéque scripte, ou je peux la choper ?

merci les gars

ps : Connaissait vous l'école d'ingénieur IMERIR (l'école d'ingénieur en informatique et robotique de perpignan.) ?
J-Ph
vendredi 2 mai 2008 à 13:48:07 | Re : maths et autres

jfrancois

Pour system() il faut l'include de stdlib.h ou de process.h donc ça devrait passer !

C'est quel compilateur ?
C'est quel libellé d'erreur précisemment ?

Jean-François

vendredi 2 mai 2008 à 15:53:01 | Re : maths et autres

jeanphilippe37

Membre Club

re,

j'ai corrige, ms cela merde encore: cette fois, c une erreur d'incolade!!!!!!!!!
60 C:\Documents and Settings\jean-philippe\Mes documents\maths.cpp expected `}' at end of input

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int estPremier (int nbr)
{
  /*Les nombres premiers < 100*/
  static int prems[] = {2,3,5,7,11,13,17,19,23,29,31,37,41,
                        43,47,53,59,61,67,71,73,79,83,89,97};
  int i, n;
  double d;


  /* On suppose que 1 est premier */
  if (nbr == 1)
  {
    return 1;
  }
 
  n = sizeof (prems) / sizeof (*prems);

  /* D'abord on regarde si n est divisible par les nombres premiers dans le tableau */
  for (i = 0; i < n; i++)
  {
    if (nbr == prems[i])
    {
      return 1;
    }
    if (nbr % prems[i] == 0)
    {
      return 0;
    }
  }
 
  /* Ensuite, on doit regarder a partir du dernier element du tableau+2 jusqu'a sqrt(nbr)... */
  d = sqrt (nbr) + 0.5; /* Le 0.5 permet de tester si c'est un carre parfait... */
  i = prems[i-1] + 2;

  while (i < d)
  {
    if (nbr % i == 0)
    {
      return 0;
    }
    i += 2;
  }
  return 1;
}

int main(void)
{
  int i;

  for (i = 101; i < 500; i++)
  {
    if (estPremier (i))
    {
      printf ("%d\n",i);
      system("pause");    }
}




J-Ph

vendredi 2 mai 2008 à 16:02:05 | Re : maths et autres

jfrancois

Les accolades ne sont pas appairées dans main() (3 ouvertes, 2 fermées)

int main(void)
{
   int i;
   for (i = 101; i < 500; i++)
   {
      if (estPremier(i))
      {
         printf ("%d\n",i);
      }
   }
   system("pause");
}


Jean-François


1 2

Cette discussion est classée dans : int, return, nbr, if, prems


Répondre à ce message

Sujets en rapport avec ce message

Table de hachage avec patronyme [ par guitoontruant ] Bonjour, Désolé, j'avais d'abord poster dans les discussions libres.Voilà je dois créer une table de hashage de patronymes par le biais de N entrées, arbre de huffman en c [ par Mouzby ] Bonjour tout le monde, Je viens avec beaucoup d'espoir pour demander votre aide sur ce forum, c'est à propos de la conception du programme de l'arbre ce code ne marche pas?????????? [ par banak3181 ] s'il vous plait les gars je veux que quelqu'un me disent pourquoi ce code ne marche sur dev C++:#include #include #include #include # include<myconio. analyseur lexical pascal [ par perrotta ] Bonjour, dsl pour ma langue je parle pas bien le français; je suis entrin de devlopper un analyseur lexical pour un programme (pascal) prèci ,et j'ai BLITZ++ [ par ciaonataha ] Salut a tous!!!J'ai besoin d'aide..Qn travaillent avec biblioteque BLITZ++....Je veux recrier ça:for (int t=0; t {  for (int p=0; p     if (T==Tr(t Algorithme RSA utilisation des floats [ par douss4 ] Bonsoir,J'ai essayé d'écrire un algorithme de cryptage (RSA). Le code à bien marché avec des int. J'ai changé les int par des float. Au moment du décr Gestion de plusieurs ports RS232 [ par dissezfr ] Bonjour à tous d'abordJ'ai récupéré un code sur le site permettant de géré un port série, j'aimerai piloter 8 (voir +) ports série avec un seul ordina liberation de memoire [ par bobaben ] bonjour, je suis debutant en c++. j'ai un petit souci de liberation de memoire. je voudrai savoir comment peut-on desallouer "new" qui est dans une ajouter une librairie utilisateur à un programme C sous Visual Studio 2008 [ par boualiasma ] Salut,on peut implémenter des fonctions dans header par exemple calcul.h qui implémente les fonctions somme, multiplication. Dans mon programme main.c besoin d'un tuto svp [ par mana ] j'ai besoin d'un tuto sur les structures mais expliqué le plus simplement possible. j'ai quelques livres et j'ai fait des recherches sur internet mais


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 4,696 sec (3)

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