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 :

copier les éléments positifs d'un tableau T dans un deuxième tableau POS


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 45
    Par défaut copier les éléments positifs d'un tableau T dans un deuxième tableau POS
    j'aimerai crée un programme permettant de copier les éléments positifs d'un tableau T dans un deuxième tableau POS et les affichés
    voila ce que j'ai fais
    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
    #include<stdio.h>
    #include<conio.h>
    main(){
          int pos[10],j,i;
          int t[10]={-3,4,0,-7,3,8,0,-1,4,-9};
          j=0;
          for(i=0;i<10;i++){
                            if (*(t+i)>0){
                            *(pos+j)=*(t+i);
                            }
                            j++;
     
                            }
     
                                         printf("%d\t",pos[j]);
     
     
           getch();
           }

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (*(t+i)>0)
    {
       *(pos+j)=*(t+i);
        j++;
    }
    Pour l'affichage, mettre le printf() dans une boucle pour afficher les éléments 0 à j-1 de pos

  3. #3
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Ce code peut produire un résultat erroné puisque le tableau pos n'a pas été initialisé. On ne sais donc pas où se termine les elements qu'on vient de mettre dans le tableau.

  4. #4
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 085
    Par défaut
    Je ne vois pas ou est le probleme.
    Le fait qu'il n'est pas été initialiser indique juste qu'il contient des nombre aleatoire.


    Apres traitement, il aura un tableau pos avec des nombre positive issue de "t" de l'indice 0 jusqu'a "j", indice j exclu.

    On a donc bien la taille du tableau et les bonne valeur.
    c'est juste que retenir la taille du tableau dans j prete a confusion.

  5. #5
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Citation Envoyé par SofEvans
    Le fait qu'il n'ait pas été initialisé indique juste qu'il contient des nombres aléatoires.
    J'aime pas trop le terme aléatoire. Je préfère dire des nombres "quelconques". Aléatoire a un sens mathématique différent. Mais le contenu initial du tableau pos n'a aucune importance comme tu l'as fait remarquer de toute façon.

  6. #6
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    C'est vrai le problème d'initialisation du tableau ne se pose pas, je crois que j'avais la tête sur mon clavier hier
    Mais je voyais plutôt le traitement dans une autre fonction utilisée dans le main pour afficher les valeurs.
    Quoiqu'il en soit, il faudrait bien identer 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    #include<stdio.h>
    #include<conio.h>
    main()
    {
          int pos[10];
          int i, j;
          int t[10]={-3,4,0,-7,3,8,0,-1,4,-9};
     
          j=0;
          for(i=0;i<10;i++)
          {
             if (*(t+i)>0)
              {
                *(pos+j)=*(t+i);
                j++; 
               }
     
           }
     
          for(i=0; i<j; i++)
             printf("%d\t",pos[i]);  
     
          getch();
    }

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/07/2014, 10h26
  2. Réponses: 4
    Dernier message: 25/03/2013, 17h05
  3. Copier les éléments d'un fichier dans le fichier qui lance la macro
    Par hobine dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/11/2011, 23h27
  4. Copier les éléments d'un Set dans un autre
    Par Faiche dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 17/12/2008, 15h18
  5. Copier les éléments d'une colonne dans une autre
    Par adam57 dans le forum PL/SQL
    Réponses: 2
    Dernier message: 05/12/2008, 16h23

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