IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algorithmique autour les tableaux


Sujet :

Algorithmes et structures de données

  1. #61
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par acacia Voir le message
    d'abord c'est "entrez un nombre" ou "entrez un caractère" que va contenir ton futur tableau?

    réfléchis à ça:

    lire(N(i))

    !!!!
    lire N(i) a pour objectif de lire les valeurs que je suis entrain de stocker dans mon tableau,j'ai pas saisi ce que vous voulez dire?

  2. #62
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    lire N(i) a pour objectif de lire les valeurs que je suis entrain de stocker dans mon tableau,j'ai pas saisi ce que vous voulez dire?
    la valeur entré par l'utilisateur n'est pas dans le tableau alors pourquoi lire N[i]?

    en plus ce n'est pas N(i) mais N[i]

  3. #63
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par acacia Voir le message
    la valeur entré par l'utilisateur n'est pas dans le tableau alors pourquoi lire N[i]?

    en plus ce n'est pas N(i) mais N[i]
    en fait j'ai ecris ecrire (entrer un nombre) (que l'utilisateur va taper sur clavier et apres lu par la machine c'est à dire lireN[i] )

  4. #64
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    en plus ce n'est pas N(i) mais N[i]
    Je vais peut-être passer pour un idiot, mais pour moi il n'y a aucune différence, c'est juste une question de convention de notation.

    la valeur entré par l'utilisateur n'est pas dans le tableau alors pourquoi lire N[i]?
    s-ehtp a tout à fait raison, lire(x) permet de récupérer une valeur lue sur le clavier (ou tout autre périphérique d'entrée, le contexte ou une précision permet de décider) et de l'affecter à x, lire(N[i]) permet donc de lire un entier et de l'affecter à la i-ème case du tableau, je ne vois pas où est le problème.

  5. #65
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Par défaut
    Citation Envoyé par PRomu@ld Voir le message
    Je vais peut-être passer pour un idiot, mais pour moi il n'y a aucune différence, c'est juste une question de convention de notation.

    oui justement, et s'il y a des conventions, c'est pour les respecter, ça permet une meilleur lisibilité de la chose.

    Citation Envoyé par PRomu@ld Voir le message
    s-ehtp a tout à fait raison, lire(x) permet de récupérer une valeur lue sur le clavier (ou tout autre périphérique d'entrée, le contexte ou une précision permet de décider) et de l'affecter à x, lire(N[i]) permet donc de lire un entier et de l'affecter à la i-ème case du tableau, je ne vois pas où est le problème.
    oui, tu as raison.

    il faut juste lui expliquer cette astuce, au cas ou elle ne l'aurait pas fait exprès.

    et merci pour la remarque

    Citation Envoyé par s-ehtp Voir le message
    en fait j'ai ecris ecrire (entrer un nombre) (que l'utilisateur va taper sur clavier et apres lu par la machine c'est à dire lireN[i] )
    "entier" et "caractère" sont deux types différents.

  6. #66
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    ça permet une meilleur lisibilité de la chose.
    Pas nécessairement, du moment que l'on sait de quoi on parle, ici n est un tableau, qu'on utilise N(i) ou N[i] ça revient strictement au même.

    "entier" et "caractère" sont deux types différents.
    En fait, là non plus, pas nécessairement, du moment que le nombre de caractère est limité, c'est très généralement représenté par un entier, c'est le cas en C et c'est ce qui en ada te permet d'indexer un tableau par des caractères.

    La différence entre les deux, c'est l'interprétation que l'on en fait pour l'affichage, sinon, généralement on peut appliquer les mêmes opérations sur les deux types. (ie: si tu fais 'a' + 1 tu devrais obtenir le prochain caractère dans l'interprétation, qui n'est pas forcément 'b').

  7. #67
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par s-ehtp
    bon je suis entrain de faire un algo pour stockage d'une serie de nombre dans un tableau de taille maximale 100. l'operation se termine lorsqu'on tape 0.et on nous demande d'afficher le tableau.
    Vous allez dire que je suis méchant () , mais ou est le probleme d'algorithmie la dedans ?

    Ca ne serait pas plutot un probleme d'initiation a la programmation impérative ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  8. #68
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Par défaut
    Citation Envoyé par PRomu@ld Voir le message
    Pas nécessairement, du moment que l'on sait de quoi on parle, ici n est un tableau, qu'on utilise N(i) ou N[i] ça revient strictement au même.
    oui, tant que ce n'est pas encore du codage, sinon on pourrait se demander pourquoi ce sont des ";" et non des "," qu'il faut mettre à la fin d'instructions.


    Citation Envoyé par PRomu@ld Voir le message

    En fait, là non plus, pas nécessairement, du moment que le nombre de caractère est limité, c'est très généralement représenté par un entier, c'est le cas en C et c'est ce qui en ada te permet d'indexer un tableau par des caractères.

    La différence entre les deux, c'est l'interprétation que l'on en fait pour l'affichage, sinon, généralement on peut appliquer les mêmes opérations sur les deux types. (ie: si tu fais 'a' + 1 tu devrais obtenir le prochain caractère dans l'interprétation, qui n'est pas forcément 'b').
    oui, c'est le code ascii du caractère en question qui est stocké, mais le type char est pour le traitement des caractères, on peut appliquer les mêmes opérations sur les deux types en C ou en C++ ou autres langages, seulement le résultat ne sera pas forcément celui qu'on attendait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    debut
    variables:N tableau de Tmax=100
    i:entier
    c:caractere
    i=1
     
    repeter
    ecrire("entrer un nombre")
    lire(N(i))
    i=i+1
    ecrire ("voulez vous continuez)
    jusqu'à N(i)=0 ou i superieur à 100 ou c='n' ou c='N'
    fin
    dans l'algorithme, s-ehtp déclare c comme caractère, sont tableau va contenir une suite de lettre ou autres caractères.

    après elle demande qu'on lui écrive un nombre!

    c'est comme si elle demandait à l'utilisateur de saisir le code ASCII du caractère qu'il voudra insérer dans le tableau

  9. #69
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par acacia Voir le message
    oui, tant que ce n'est pas encore du codage, sinon on pourrait se demander pourquoi ce sont des ";" et non des "," qu'il faut mettre à la fin d'instructions.




    oui, c'est le code ascii du caractère en question qui est stocké, mais le type char est pour le traitement des caractères, on peut appliquer les mêmes opérations sur les deux types en C ou en C++ ou autres langages, seulement le résultat ne sera pas forcément celui qu'on attendait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    debut
    variables:N tableau de Tmax=100
    i:entier
    c:caractere
    i=1
     
    repeter
    ecrire("entrer un nombre")
    lire(N(i))
    i=i+1
    ecrire ("voulez vous continuez)
    jusqu'à N(i)=0 ou i superieur à 100 ou c='n' ou c='N'
    fin
    dans l'algorithme, s-ehtp déclare c comme caractère, sont tableau va contenir une suite de lettre ou autres caractères.

    après elle demande qu'on lui écrive un nombre!

    c'est comme si elle demandait à l'utilisateur de saisir le code ASCII du caractère qu'il voudra insérer dans le tableau
    bon moi ce que j'ai fait c'est comme une sorte d'un controle de saisie ,l'utilisateur ne doit pas depasser le nombre d'elements maximale du tableau,et il peut arreter sa saisie tout en tapant N ou n c'est à dire non ou NON, vous voyez? mais bon c'est a vous tous de voir notre algorithmiciens

  10. #70
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    bon j'ai un autre algo qui demande d'inverser les elements du tableau(c'est à dire le dernier prendra la place du premier,l'avant dernier celui du 2eme et ainsi de suite) les elements du tableau sont de nombre de n connu.
    voila donc mon modeste essai
    code:
    algorithme:inversement
    debut
    variables:N tableau de n éléments
    i,n,k':entiers
    c:réel

    si n=2*k' alors pour i allant de 1 à n faire
    c=N(i)
    N(i)=N(n-(i-1))
    N(n-(i-1))=c
    finpour
    finsi
    si n=2*k'+1 alors i=1
    repeter c=N(i)
    N(i)=N(n-(i-1))
    N(n-(i-1))=c
    i=i+1
    jusqu'à i=(n+1)/2
    finsi
    fin
    NB:@acacia: j'ai voulu ecrire les crochets mais je les ai pas dans mon pc
    @ tous ceux qui vont me corriger: j'ai faits de cas la ou il ya le nombre d'elements et pair et la ou le nombre d'elements est impair (dans ce cas l'élément au milieu va se permuter avec lui meme)
    et merci à vous tous!!!!

  11. #71
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    bon j'ai un autre algo qui demande d'inverser les elements du tableau(c'est à dire le dernier prendra la place du premier,l'avant dernier celui du 2eme et ainsi de suite) les elements du tableau sont de nombre de n connu.
    voila donc mon modeste essai
    code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    algorithme:inversement
     debut
     variables:N tableau de n éléments
                    i,n,k':entiers
                    c:réel
         
       si n=2*k' alors  pour i allant de 1 à n faire 
                                   c=N(i)  
                                   N(i)=N(n-(i-1))
                                 N(n-(i-1))=c   
                            finpour
      finsi
     si n=2*k'+1 alors i=1
                           repeter c=N(i)
                                     N(i)=N(n-(i-1)) 
                                     N(n-(i-1))=c
                                      i=i+1
                           jusqu'à i=(n+1)/2
     finsi
    fin
    NB:@acacia: j'ai voulu ecrire les crochets mais je les ai pas dans mon pc
    @ tous ceux qui vont me corriger: j'ai faits de cas la ou il ya le nombre d'elements et pair et la ou le nombre d'elements est impair (dans ce cas l'élément au milieu va se permuter avec lui meme)
    et merci à vous tous!!!!
    dans le premier cas,

    le i doit-il rester sur la première place, si avec ça tu ne l'as pas initialisé?
    et pourquoi i allant de 1 à n ?

    de toute manière, tu t'es bien débrouillé

  12. #72
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    bonjour tout le monde;
    j'ai un algo entre les mains mais je sais pas comment le commencer j'ai meme pas les idées pour le traiter;
    l'algo demandé est le voila:
    c'est de transferer les elements positifs d'un vecteur V dans un vecteur positif et les éléments nuls ou negatifs dans un vecteur V negatif;et puis editer les trois vecteurs;
    j'ai besoin de me donner quelque idées pour que je puisse faire mon essai pour que vous me le corrigiez apres
    et merciiiiiii à vous tous!!!

  13. #73
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    bonjour tout le monde;
    j'ai un algo entre les mains mais je sais pas comment le commencer j'ai meme pas les idées pour le traiter;
    l'algo demandé est le voila:
    c'est de transferer les elements positifs d'un vecteur V dans un vecteur positif et les éléments nuls ou negatifs dans un vecteur V negatif;et puis editer les trois vecteurs;
    j'ai besoin de me donner quelque idées pour que je puisse faire mon essai pour que vous me le corrigiez apres
    et merciiiiiii à vous tous!!!
    Bonsoir s-ehtp,

    les anciens algorithme c'est toi qui les a fait?

    parce que comparé aux précédents, celui là est beaucoup plus facile !

  14. #74
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par acacia Voir le message
    Bonsoir s-ehtp,

    les anciens algorithme c'est toi qui les a fait?

    parce que comparé aux précédents, celui là est beaucoup plus facile !
    oui acacia c'est moi qui les a fait je vous le jure!!
    ben mon probleme c'est le fait de creer 2 autres tableaux
    mais acacia bien sur c'est moi qui les a fait !!

  15. #75
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    oui acacia c'est moi qui les a fait je vous le jure!!
    ben mon probleme c'est le fait de creer 2 autres tableaux
    mais acacia bien sur c'est moi qui les a fait !!
    ok ok je te crois

    alors pour ton nouveau problème, puisque tu demandes a avoir 3 tableaux, tu n'auras qu'à déclarer 3 tableaux N pour les négatifs, P pour les positifs et T sera le tableau ou il y a tes valeurs.

    tu parcours T[i] et tu test chaque élément puis tu renvois sur le tableau associé

  16. #76
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    merci merci ma chere bon je vais rediger mon algo pour que tu me le corrige
    @acacia:je vous remercie infiniment vous m'aider toujours à surmonter mes problemes i swear by GOd!

  17. #77
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Par défaut
    you're welcome

  18. #78
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    algorithme:positif_negatif
    debut
    variables:N tableau de Nmax
    T tableau de t éléments
    P tableau de P max
    i,j,k:entiers
    pour i allant de 1 à t faire
    lire(T[i])
    fin pour
    si T[i] inferieur ou egale à 0 alors N[k]=T[i] finsi
    si T[i] superieur strict à 0 alors P[j]=T[i] finsi

    ecrire('le vecteur initiale',T,'est',T[i])
    ecrire('le vecteur positif',P,'est',P[j])
    ecrire('le vecteur negatif',N,'est,N[k])
    fin


    NB:j ai utilisé 3 indices k i et j,parce que si un element du tableau T se trouve à la 3eme place dans N ou P se trouvera sur 1 position par exemple
    donc je sais pas si ce que j'ai fait est bien correcte

  19. #79
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Par défaut
    tu vas tester tous les éléments du tableau, le test se fait donc dans une boucle.

    même chose pour l'affichage.

  20. #80
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    mais si j'utilise une boucle rep je sais pas quand est ce que ma boucle s'arretera?

    attendez! peut etre comme ca

Discussions similaires

  1. Mais pourquoi ... Avec IE les tableaux sont décentrés ?
    Par nebule dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 26/11/2004, 10h04
  2. Article sur les tableaux dynamiques
    Par Eric Sigoillot dans le forum Langage
    Réponses: 2
    Dernier message: 16/04/2004, 22h00
  3. Réponses: 14
    Dernier message: 01/09/2003, 22h46
  4. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/08/2002, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo