Copie de tableau vers un autre

cs_ralou Messages postés 11 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 8 mars 2006 - 18 févr. 2006 à 05:51
cs_ralou Messages postés 11 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 8 mars 2006 - 19 févr. 2006 à 18:33
salut tlm
je veux copier un tableau dexu dim vers un autre plus grand (il ne s'agit pas de la meme taille) alors j'ai fait le code suivant :

for(i=0, k=0; i < lignes, k < _Lignes; i++, k+=2)
{
for(j=0, l=0 ; j < colonnes, l < _Colonnes; j++, l+=2)
imageDest[k][l] = imageSource[i][j];
}
le programme fonctionne super bien mais en le compilant il me donne deux warning concernant mes deux boucles fort.
svp est ce que vous pouvez m'aider a trouver une solution meilleur

et merci beaucoup
salut

10 réponses

platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 2
18 févr. 2006 à 10:32
Salut :)
Et les warnings qu'il te donne on les devine ? Donne-les nous, et on pourra t'aider...
@+
0
saibe Messages postés 46 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 16 avril 2009
18 févr. 2006 à 11:03
salut
pourquoi pas :

memcpy(imageDest, imageSource, sizeof(imageSource));

à la place de tes 2 boucles ?
saibe
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
18 févr. 2006 à 11:12
memcpy largement préférable comme dit plus haut.
Bien régler la taille du 3eme param de memcpy.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
cs_ralou Messages postés 11 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 8 mars 2006
19 févr. 2006 à 17:28
salut les amis et merci pour vos reponses
mais si vous voyez mon code, je veux copier mon tableau de (exp) de 3 colonnes et 4 lignes vers un autre de 5c et 7l et dans le nouvea j'ecris dans une case et je saute une cad la deuxoieme restera vide, alors puis je faire ca avec memcpy?
merci encore
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
19 févr. 2006 à 18:07
pas de memcpy en ce cas car memcpy écrit en continu.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
cs_ralou Messages postés 11 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 8 mars 2006
19 févr. 2006 à 18:22
salut
alors les boules restent la seulent solution dans ce cas ?
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
19 févr. 2006 à 18:24
boucles ou autre mais pas de memcpy vu que tu dois sauter des cases.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
cs_ralou Messages postés 11 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 8 mars 2006
19 févr. 2006 à 18:26
et ca peut etre quoi l'autre, parce que je pense que ma solution n'etait pas bein optimisée
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 19
19 févr. 2006 à 18:30
Une série d'affectations directes sans boucle quand on sait d'avance où on fait les copies, c'est toujours plus rapide qu'un boucle.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
cs_ralou Messages postés 11 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 8 mars 2006
19 févr. 2006 à 18:33
salut
oui c vrai, mais les valeurs que je dois copier ne sont pas fixe et meme les tailles des deux tableaux, de plus je peu meme avoir des centaines de colonnes et lignes alors l'affectation directes ne sera pas une bonne solution
0