KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Mardi 13 mai 2008 - 22:32:13

[C] copier un tableau

Rechercher : dans
[C] copier un tableau
par limbergh
 Fil de Discussions
Statut : Résolu
vendredi 8 février 2008 à 13:38:16
Bonjour,

j'ai un code avec des foncstions, le but est de remplir un tableau, avec des chiffres, puis afficher,... et enfin
le copier dans un autre tableau.
Je ne vois pas comment faire, j'ai essayé avec une fonction et ça ne donne rien.

Si quelqu'un à une explications...
Merci d'avance
Configuration: Windows XP
Firefox 2.0.0.11
Répondre à limbergh  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par limbergh, le vendredi 8 février 2008 à 13:38:56 Fil de Discussions
ps: voici le code

#include <stdio.h>
#include <stdlib.h>
#define tmax 5
//prototypages des fonctions
void affiche(long *tbis, long tmaxbis);
void encode(long *tbis, long tmaxbis);
void somme(long *tbis, long tmaxbis);
void moyenne(long *tbis, long tmaxbis);
void copie(long *tbis, long *tbis2, long tmaxbis);

int main(int argc, char *argv[]) 
{
//déclarations des variables
long t[tmax]={0};
long t2[tmax]={0};

encode(t,tmax);
affiche(t, tmax);
somme(t, tmax);
moyenne(t, tmax);
copie(t,t2, tmax);
 
system("PAUSE");
    return 0;
}

/*fonction affichage*/
void affiche(long *tbis, long tmaxbis)
{
int ibis;
for (ibis=0; ibis<tmaxbis; ibis++)
{
printf("%ld\t", tbis[ibis]);
}
}

/*fonction encodage*/
void encode(long *tbis, long tmaxbis)
{
int ibis;
for (ibis=0; ibis<tmax; ibis++)
{
printf("entrez un nombre du tableau t [%d] :",ibis);
scanf("%ld", &tbis[ibis]);
}
}

void somme(long *tbis, long tmaxbis)
{
int ibis, s;
s=0;
for(ibis=0; ibis<tmaxbis; ibis++)

s=s+tbis[ibis];
printf("\nla somme des valeurs du tableau est : %d\n", s);

}

void moyenne(long *tbis, long tmaxbis)
{
int ibis, s , m;
s=0;
for(ibis=0; ibis<tmaxbis; ibis++)

s=s+tbis[ibis];
m=s/tmax;
printf("\nla moyenne des valeurs du tableau est : %d\n\n", m);
}

void copie(long *tbis, long *tbis2, long tmaxbis)
{
int ibis;
for (ibis=0;ibis<tmaxbis;ibis++)
tbis2[ibis]=tbis[ibis];

printf("valeurs de table 2 : %ld\n", tbis2[ibis]);
}
Répondre à limbergh

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par OrionS, le vendredi 8 février 2008 à 13:40:17 Fil de Discussions
De quel langage parlons nous?
peux tu nous en dire un peu plus
Répondre à OrionS

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par limbergh, le vendredi 8 février 2008 à 13:45:49 Fil de Discussions
Ben oui, j'oublie le plus important...
C'est du langage C
Répondre à limbergh

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par OrionS, le vendredi 8 février 2008 à 13:50:21 Fil de Discussions
tu peux utiliser la fonction memcpy()
#include <string.h>

int Tab1[10], Tab2[10];

memcpy(Tab2, Tab1, sizeof Tab2);
Répondre à OrionS

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par limbergh, le vendredi 8 février 2008 à 13:53:27 Fil de Discussions
re,
à quoi sert le sizeof? et memcpy?
Je connais strcpy, quelle est la différence?

Merci d'avance pour tes axplications
Répondre à limbergh

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par OrionS, le vendredi 8 février 2008 à 13:57:21 Fil de Discussions
la fontion strcpy c'est pour copier un chaine dans un autre tandi que memcpy admet trois paramètres, le premier étant le tableau de destination et le deuxième le tableau source. Enfin, le troisième est le nombre d'octets à copier...
Répondre à OrionS

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par fiddy, le samedi 9 février 2008 à 02:20:34 Fil de Discussions
Salut,
Tu confonds memcpy strncpy.
memcpy(void *dest, const void *src, size_t n) et strcpy(char *dest, const char *src, size_t n);

memcpy permet de copier des octets depuis la zone mémoire.
Google is your friend
Répondre à fiddy

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par limbergh, le vendredi 8 février 2008 à 13:59:47 Fil de Discussions
ok,
merci pour tes explications, mais pour la fonction copie que j'ai crée, tu ne sais pas
m'expliquer mon erreur de copie avec les pointeurs?
Répondre à limbergh

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par limbergh, le vendredi 8 février 2008 à 15:20:12 Fil de Discussions
Vraiment personne pour m'expliquer?????
Répondre à limbergh

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par limbergh, le samedi 9 février 2008 à 01:45:32 Fil de Discussions
on ne sait jamais, quelqu'un qui veille la nuit?????
J'ai toujours pas trouvé mon erreur....


Merci d'avance
Répondre à limbergh

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par fiddy, le samedi 9 février 2008 à 02:07:46 Fil de Discussions
Salut,

Il n'y a pas d'erreur de copie, ça marche très bien.
Cependant, il serait mieux de faire :
void copie(long *tbis, long *tbis2, long tmaxbis)
{
int ibis;
for (ibis=0;ibis<tmaxbis;ibis++){
   tbis2[ibis]=tbis[ibis];

    printf("valeurs de table 2 : %ld\n", tbis2[ibis]);
  }
}

Sinon tu n'afficheras qu'une valeur de ta table tbis2
Google is your friend
Répondre à fiddy

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par limbergh, le samedi 9 février 2008 à 13:40:40 Fil de Discussions
salut,
merci poour ta réponse...
Répondre à limbergh

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par limbergh, le samedi 9 février 2008 à 13:41:38 Fil de Discussions 
salut,
merci poour ta réponse
Répondre à limbergh
Discussions pertinentes trouvées dans le forum
21/12 12h16copier coller des tableauxProgrammation21/12 13h201
01/11 00h09comment copier un tableau excel sur excelWindows01/11 00h495
29/02 11h48[Excel] Copier/Coller des TableauxBureautique29/02 14h571
06/09 17h12Copier un tableau sur excelBureautique06/09 21h233
Plus de discussions sur « [C] copier un tableau » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide