begin process at 2012 05 30 18:09:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

Tableaux et C, aidez-moi!


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

Tableaux et C, aidez-moi!

mercredi 1 avril 2009 à 00:14:49 | Tableaux et C, aidez-moi!

phenix22000

Bonsoir à tous,
quelqu'un peut-il m'aider pour m'expliquer comment savoir si un tableau contient déjà des éléments si on l'incrémente petit à petit...
Je m'explique:
Je génère des nombres aléatoires entre 0 et m (entier), que je rentre dans un tableau de taille n...ceci dit, il faut que les nombres générés n'apparaissent qu'en un seul exemplaire dans le tableau...
Cela fait plusieurs heures que je ne trouve pas, s'il vous plait, donner moi des tuyaus ;)

Voici mon code (et ma solution, fausse bien entendu..., il y a un peu de c++ aussi)
Merci de votre aide ^^

#include <cstdlib>
#include <iostream>
#include <stdlib.h>
#include <string>
#include <time.h>


using namespace std;

const int n1 = 8;
const int n2 = 10;


int main(int argc, char *argv[])
{
    int t1[n1], t2[n2], m,i,j,t[n1];
        
    printf("Veuillez saisir un entier \n");
    cin>>m;
    

srand(time(NULL));
rand();

t1[0]=int(((double)(rand())/RAND_MAX)*m+1);
t[0]= t1[0];

                          
    
       for(i=1;i<n1;i++){
               t[i]=int(((double)(rand())/RAND_MAX)*m+1);      
                         for(j=0;j<n1;j++){
                                    if (t1[j]=t[i])
                                    do{ t[i]= int(((double)(rand())/RAND_MAX)*m+1);
                                    }
                                    while(t1[j] =t[i]);
               
                                     }
                                    t1[i]=t[i];
                  }          
                  

            for(i=0;i<n1;i++){
            printf(" t[%d] = %d \n",i,t[i]);
                 }
            for(i=0;i<n1;i++){
            printf(" t1[%d] = %d \n",i,t1[i]);
                 }
    
    system("PAUSE");
    return EXIT_SUCCESS;

}

mercredi 1 avril 2009 à 09:59:11 | Re : Tableaux et C, aidez-moi!

buno

Administrateur CodeS-SourceS
Hello,
J'ai pas trop compris le code (le nom des variables n'est pas super explicite). En gros, voici l'algo:

- faire autant de fois que nécessaire
  - génération d'un nombre aléatoire
  - initialiser un booléen de recherche à faux
  - tant que le booléen est faux, faire
    - prendre un élément tu tableau
    - le comparer au nombre généré
    - si c'est égal
      - booléen = vrai
    - sinon
      - prendre le prochain élément
  - fin tant que
  - si booléen est faux, ajouter le nombre généré au tableau
- fin faire

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 1 avril 2009 à 10:57:46 | Re : Tableaux et C, aidez-moi!

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
void AleaUnic(int *ptab, int n)
{
  int v, i, pos;
  ptab[0] = rand();
  if(n < 2) return;
  pos = 1;
nextRAND:
  v = rand();
  i = pos - 1;
  do {
    if(ptab[i] == v) goto nextRAND;
  } while(--i >= 0);
  ptab[pos] = v;
  if(++pos < n) goto nextRAND;
}

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : int, t1, include, for, rand


Répondre à ce message

Sujets en rapport avec ce message

vecteurs 3D [ par nonocpp ] #include #include #include   using namespace std;  int main(void){ int i,k,j; ofstream arno; vector*>*& Aide sur la construction d'une fonction [ par iamor ] Bonsoir, je souhaite améliorer un programme que j'ai codé pour qu'il soit plus clean, mais pour se faire j'aurai besoin d'avoir une petite aide sur la variable aleatoire entre 0 et 1 [ par khadija333 ] salut tout le monde,j'ai essayé de generer une variable reelle aléatoire entre 0 et 1 en langage C mais elle me donne toujours o.ooooo je ne sais pas un programme qui tourne pas [ par youssefmahdia ] bonjour,voila, ce programme ne tourne pas,#include  #include  main() { int i,j; int s[5][5]; for(i=0;i {for(j=0;j s[i][j]=(j/(int)pow( HELP [ par alex64100 ] BONOURje doit réaliser un   prog de tri de caractèresvoici mon code#include #include #include #include int main (int argc,  char ar rectification dune code C et/ou aide sur l'algorithme [ par negets ] bonjour, besoin d'aide; j'aimerai dégager l'algorithme de ce code afin de le programmer sous matlab je connais plus rien en C et C++(je commence à lir c++ [ par noussa44 ] Bonjour, j'ai un code avec c++ mais il a des erreurs svp si quel qu'un peut m'aider et corriger ce code qui permet de calculer la distance entre des p c++ [ par noussa44 ] Salut tout le monde, j'ai besoin svp de vore aide sur un exercice que j'ai fait mais j'ai des erreurs, pour cela je me suis fait recours sur votre a Programme en c++ [ par noussa44 ] Bonjour à tous et merci d'avance pour vos réponses, J'ai fait un petit code en c++ pou calculer la distance entre des points avec la formule :d² = (x'


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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,343 sec (4)

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