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

 C Discussion :

indice d'un tableau


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 70
    Par défaut indice d'un tableau
    Bonjour,
    j'essaie de transcrite un programme matlab en C. Y a t il une fonction qui prend les indices d'un tableau avec une condition, je m'explique:
    J'ai deux tableaux X=[ 0.2 0.6 0.3 0.1] et Y=[0.3 0.1 0.7 0.2]. Je veux manipuler par exemple tous les indices des éléments qui sont inférieures à 0.5 dans les deux tableaux. En matlab cela donne:
    I = find( X<0.5)
    J = find( Y(I)<0.5)
    pour les multiplier par 3: Z = 3*( X(I(J)) + Y(I(J)) )
    Comment puis-je faire cela en C?
    Merci

  2. #2
    Membre éclairé Avatar de emprex
    Homme Profil pro
    auto-entrepreneur
    Inscrit en
    Octobre 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : auto-entrepreneur
    Secteur : Services à domicile

    Informations forums :
    Inscription : Octobre 2007
    Messages : 219
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for ( i = 0; i < TMAX; i++)
       if (T[i] < 0.5)
          T[i] = T[i] * 3;
    tu peux tenter une boucle comme celle-ci.

  3. #3
    Membre averti Avatar de Trillian
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 47
    Par défaut
    Citation Envoyé par kharg Voir le message
    Bonjour,
    j'essaie de transcrite un programme matlab en C. Y a t il une fonction qui prend les indices d'un tableau avec une condition, je m'explique:
    J'ai deux tableaux X=[ 0.2 0.6 0.3 0.1] et Y=[0.3 0.1 0.7 0.2]. Je veux manipuler par exemple tous les indices des éléments qui sont inférieures à 0.5 dans les deux tableaux. En matlab cela donne:
    I = find( X<0.5)
    J = find( Y(I)<0.5)
    pour les multiplier par 3: Z = 3*( X(I(J)) + Y(I(J)) )
    Comment puis-je faire cela en C?
    Merci
    une solution serait de créer un troisième tableau de la taille de X et Y (à condition qu'ils aient la même taille) et une variable compteur pour connaître l'indice du dernier élément. exemple:

    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
     
    // taille = taille des 3 tableaux, int
    // TMP[taille] le tableau dans lequel on stock les indices, int *
    // last_index = l'index du dernier élément de TMP, int
     
    last_index = 0;
     
    for (i = 0; i<taille; i++)
    {
       if ((X[i] < 0.5) && (Y[i] < 0.5))
       {
          TMP[last_index] = i
          last_index++
       }
    }
     
    for (i = 0; i < last_index; i++)
    {
       Z[i] = 3*(X(TMP[i] + Y(TMP[i]))
    }
    Ceci est équivalent à ton code Matlab. C-à-d, il faut qu'à la position lambda, les 2 tableaux contiennent des valeurs < 0.5. Si tu veux prendre en compte le cas où seulement une des deux valeurs est inférieure, il y a que la condition du IF qui change (de && à ||).

Discussions similaires

  1. Les indices d'un tableau multidimension
    Par aikinhdo dans le forum Langage
    Réponses: 1
    Dernier message: 04/04/2007, 18h24
  2. [Tableaux] Récupérer l'indice d'un tableau
    Par emageren dans le forum Langage
    Réponses: 2
    Dernier message: 03/11/2006, 10h21
  3. Réponses: 11
    Dernier message: 26/05/2006, 17h51
  4. Réponses: 2
    Dernier message: 11/04/2006, 22h54
  5. [Tableaux] Recuperer le plus grand indice d'un tableau
    Par schnito dans le forum Langage
    Réponses: 4
    Dernier message: 31/01/2006, 20h01

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