Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1694 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C] comment reduire ce bout de code ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] comment reduire ce bout de code ?

n°136443
koulip31
Posté le 08-05-2002 à 18:09:41  profilanswer
 

jai ca comme bout de code
 
int put_case(t_cases  *cas)
{    
    if (cas->tbl_1[1]== 0)
        printf("coucou" );
    if (cas->tbl_2[1] == 0)
        printf("coucou" );
    if(cas->tbl_3[1] == 0)
        printf("coucou" );
}
 
je voudrais le transformer en un truc de ce style
 
int   put_case(t_cases  *cas)
{
  int i;
  tmp[3] = {                   <<<je met koi comme type ??  t_cases tmp[3]  ?
      cas->tbl_1,
      cas->tbl_2,
      cas->tbl_3
        };
   for (i=0;i <= 2; i++)
        if(tmp[i][1] == 0)   <<< un truc de ce genre est ce possible ? ou faut faire un  tmp[i] avec dans le tmp[i]  <==>  cas->tbl_1[1]  
             printf("coucou" );
}
 
voila A+

mood
Publicité
Posté le 08-05-2002 à 18:09:41  profilanswer
 

n°136447
Olivier51
Posté le 08-05-2002 à 18:44:59  profilanswer
 

int put_case(t_cases  *cas)  
{    
   if (!(cas->tbl_1[1]) || !(cas->tbl_2[1]) || !(cas->tbl_3[1]))
       printf("coucou" );  
}

n°136449
Olivier51
Posté le 08-05-2002 à 18:46:35  profilanswer
 

Mais ta fonction n'est pas correct ... si tu la déclares comme ça : int put_case(t_cases  *cas) tu devrais lui faire retourner un INT, sinon dans ton cas tu devrais la déclarer comme ça : void put_case(t_cases  *cas).

n°136468
koulip31
Posté le 08-05-2002 à 19:29:17  profilanswer
 

Olivier51 a écrit a écrit :

int put_case(t_cases  *cas)  
{    
   if (!(cas->tbl_1[1]) || !(cas->tbl_2[1]) || !(cas->tbl_3[1]))
       printf("coucou" );  
}  




 
 [:tdk04]  je lattendais celle la  
 
jai simplifie le code de maniere a pouvoir le sortir du contexte  
c'est pour cela  ke la fonction ne renvoie pas un int
 
jaimmerrais utiliser un tableau de pointeur vers mon tableau  
mais i arrive po  [:sisicaivrai]


---------------
télétunestel ouimélétuness sitélétunes mélétunetron [:koulip31] [:suri]
n°136511
Olivier51
Posté le 08-05-2002 à 21:03:15  profilanswer
 

J'ai rien compris ...

n°136529
koulip31
Posté le 08-05-2002 à 23:02:45  profilanswer
 

Olivier51 a écrit a écrit :

J'ai rien compris ...  




 
 :cry:  :cry:


---------------
télétunestel ouimélétuness sitélétunes mélétunetron [:koulip31] [:suri]
n°136558
lorill
Posté le 09-05-2002 à 01:14:24  profilanswer
 

si j'ai bien compris, cas->tbl_X est un tableau d'entiers (au pif, vu la comparaison)
 
ca devrait donner ca, non ?
int* tmp[3] = {...}

n°136559
koulip31
Posté le 09-05-2002 à 01:26:23  profilanswer
 

lorill a écrit a écrit :

si j'ai bien compris, cas->tbl_X est un tableau d'entiers (au pif, vu la comparaison)
 
ca devrait donner ca, non ?
int* tmp[3] = {...}  




 
oui c'est un tbl d'entier mais ca gene pas kil soit dans une structure ?
 
et jai le tdoit de faire
 tmp[i][3]  
au lieu de
 cas->tbl_i[3]
 
(si dans tmp[i] il y a cas->tbl_i)


---------------
télétunestel ouimélétuness sitélétunes mélétunetron [:koulip31] [:suri]
n°136562
lorill
Posté le 09-05-2002 à 01:35:16  profilanswer
 

en quoi ca generait ?
 
un tableau est un pointeur.
cas->tbl_i est donc un pointeur vers la premiere valeur du tableau
quand tu fais tmp[i] = cas->tbl_i, tu recopie le pointeur tbl_i valeur dans tmp[i]. La structure n'intervient pas la dedans.

n°136564
joce
Architecte / Développeur principal
&#034;BugHunter&#034;
Posté le 09-05-2002 à 01:52:51  profilanswer
 

pkoi tu crées pas un structure cas contenant la liste de tout t'es cas, et quand suite tu prends à chaque fois l'element + 1 ?
 
du style :
 
struct List_cas {
  t_cases *tbl_1;
  t_cases *tbl_2;
  t_cases *tbl_3;
};
 
List_cas *list_cas = NULL;
 
/* initialisation */
 
temp = list_cas.tbl_1;
for (i=1; i<=3; i++) {
  if ((int) (*temp)[1] == 0)
    printf("coucou" );
  temp++;
}
 
Ceci dit je dis pe une connerie :D

 

[jfdsdjhfuetppo]--Message édité par joce le 09-05-2002 à 01:57:51--[/jfdsdjhfuetppo]


---------------
Protèges carnets personnalisés & accessoires pour bébé
mood
Publicité
Posté le 09-05-2002 à 01:52:51  profilanswer
 

n°136634
koulip31
Posté le 09-05-2002 à 12:38:26  profilanswer
 

joce a écrit a écrit :

pkoi tu crées pas un structure cas contenant la liste de tout t'es cas, et quand suite tu prends à chaque fois l'element + 1 ?
 
du style :
 
struct List_cas {
  t_cases *tbl_1;
  t_cases *tbl_2;
  t_cases *tbl_3;
};
 
List_cas *list_cas = NULL;
 
/* initialisation */
 
temp = list_cas.tbl_1;
for (i=1; i<=3; i++) {
  if ((int) (*temp)[1] == 0)
    printf("coucou" );
  temp++;
}
 
Ceci dit je dis pe une connerie :D  
 
 




 
en fiat c'est une unique structure avec avec 6 champs
elle a cette geule
 
typedef struct s_case
{
 int tbl_0[4];
 int tbl_1[4];
 int tbl_2[4];
 int tbl_3[4];
 int tbl_4[4];
 int tbl_5[4];
 int tbl_6[4];
}t_case;
 
 
et a certains moment je suis oblige de faire les meme traitement sur 4 de ces tableaux
 
donc au lieux de faire n fonction ou seulemnt  
le case->tbl_x change je voulais les regrouper en une boucle for  
economisant ainsi des fonctions inutiles
 
donc faut ke je puisse mettre les  
case->tbl_x dans un tableau affin de pouvoir faire ca nikel


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C] comment reduire ce bout de code ?

 

Sujets relatifs
[JS]comprend pas certaine fonction, code insideExécuter un programme externe dans du code C sous DOS
[vbscript ou javascript]code source dans un fichier ![vb6]récupéré le code source d'une page HTML
Comment imprimer une image à partir d'un code javascript?Code ASCII
Code Barre??[Javascript] : Validation de ma ligne de code
[Delphi] Editeur de code source[Access2000] demande d'explication (code inside)
Plus de sujets relatifs à : [C] comment reduire ce bout de code ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR