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

MATLAB Discussion :

Quitter et reboucler dès le début


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2011
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Quitter et reboucler dès le début
    bonjour à tous;j'ai un problème de test dans une boucle comme l'illustre le 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
    for i=3:(n-1)
        for k=2:(i-1)
            if(((c(i-1)==c(k-1))&(c(i)==c(k))&(c(i+1)==c(k+1)))&(q(i)~=q(k)))
                % if(q(i)~=q(k))
                c(i)= randint(1,1,[1,4]);
                %i=3;
                %  break
            else
                tp(j)= c(i-1);tp(j+1)=c(i);tp(j+2)=c(i+1);
                tf(p)=q(i);
            end
        end
        j=j+3;
        p=p+1;
    end
    je veux répéter le bouclage dès le début si la 1re condition est satisfaite après l'exécution de l'instruction 'randit'; et est ce que cette structure est correcte?
    mercis d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Première petite remarque: la condition sur le if se fait sur une seule valeur logique, un double && est donc plus approprié:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(((c(i-1)==c(k-1))&&(c(i)==c(k))&&(c(i+1)==c(k+1)))&&(q(i)~=q(k)))
    Pour en revenir à ton problème, tu ne peux pas manipuler les indices des boucles for à l'intérieur, il te faut utiliser des boucles while.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Le break que tu as commenté était la bonne solution...
    Si ce sont les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        j=j+3;
        p=p+1;
        i=i+1;
    Qui te gènent, tu peux faire "l'inverse" dans ta condition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(((c(i-1)==c(k-1))&&(c(i)==c(k))&&(c(i+1)==c(k+1)))&&(q(i)~=q(k)))
        i=2;
        j = j-3;
        p = p-1;
        break

Discussions similaires

  1. [VB6] Quitter l'appli et fermer toutes les feuilles...
    Par The Bob dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/06/2003, 21h06
  2. Réponses: 9
    Dernier message: 11/03/2003, 12h22
  3. Quitter une application FLASH ?
    Par jeje.r dans le forum Flash
    Réponses: 3
    Dernier message: 25/02/2003, 14h57
  4. Impossible de quitter mon application!
    Par Bouillou dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/11/2002, 20h43
  5. Toutes les bonnes choses ont un début ...
    Par Bols2000 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 22/08/2002, 17h01

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