Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1326 Le 14/11/2010, à 02:41

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

ArkSeth a écrit :

Tiens, mince : j'essayais de mettre mes printf en couleur, et gcc -pedantic râle parce que \e ne fait pas partie de la norme hmm Y a moyen de faire autrement ?

Les séquence d'échappement ANSI pour les terminaux qui les supportent.
M'enfin je suis pas fan du tout de ce genre de fioritures (ça te pourri tes redirections de flux mad), selon moi c'est à éviter…

Dernière modification par grim7reaper (Le 14/11/2010, à 04:01)

Hors ligne

#1327 Le 14/11/2010, à 02:46

Elzen

Re : /* Topic des codeurs couche-tard [2] */

Il suffisait d'utiliser \033[ au lieu de \e[ ^^
(D'ailleurs, gedit (ouais, j'fais mon C avec gedit, en ce moment, j'me remettrai à Vim un peu plus tard) me colore \033 de la même façon que \t ou \n, alors qu'il ne touchait pas à \e)

Mais en l'occurrence, je fais ça parce que c'est juste un main de test (et aussi un peu pour frimer devant mes petits camarades ^^). Pour un vrai truc, ça ne me serait même pas venu à l'esprit.

Dernière modification par ArkSeth (Le 14/11/2010, à 02:47)

Hors ligne

#1328 Le 14/11/2010, à 03:33

samυncle

Re : /* Topic des codeurs couche-tard [2] */

.


Hello world

Hors ligne

#1329 Le 14/11/2010, à 03:33

Кຼزດ

Re : /* Topic des codeurs couche-tard [2] */

Point


dou

Hors ligne

#1330 Le 14/11/2010, à 03:46

The Uploader

Re : /* Topic des codeurs couche-tard [2] */

++


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1331 Le 14/11/2010, à 04:07

gnuuat

Re : /* Topic des codeurs couche-tard [2] */

L'avantage d'un rush, c'est qu'on gagne facilement 10 points et sans tricher.
L'inconvénient, c'est qu'on fait du code crade à cause des contraintes de temps et de sommeil :

void                                        Pokemon::removeType(const QString &type)
{
    std::vector<QString>::iterator    cur = this->_types.begin();
    std::vector<QString>::iterator    end = this->_types.end();

    while (cur != end && *cur != type)
    {
        ++cur;
    }
    if (cur != end)
    {
        this->_types.erase(cur);
    }
}

*bweurk*


Bisouland : embrassez les tous !
Volez les points d'amour de vos adversaires en les embrassant, dans ce jeu gratuit par navigateur !

Hors ligne

#1332 Le 14/11/2010, à 04:09

nesthib

Re : /* Topic des codeurs couche-tard [2] */

plop


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#1333 Le 14/11/2010, à 04:30

cm-t

Re : /* Topic des codeurs couche-tard [2] */

'Nuit;


Actu Ubuntu            ☺/
Pauses Ubuntu sur Paris            \_< -t
[(π)] La Quadrature du net

Hors ligne

#1334 Le 14/11/2010, à 05:10

Askelon

Re : /* Topic des codeurs couche-tard [2] */

o/

Hors ligne

#1335 Le 14/11/2010, à 05:21

samυncle

Re : /* Topic des codeurs couche-tard [2] */

.


Hello world

Hors ligne

#1336 Le 14/11/2010, à 08:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [2] */

Scores totaux, depuis le début :

1) 1847    nesthib
2) 1766    samuncle
3) 1496    Pylade
4) 1115    Кຼزດ
5) 925    cm-t
6) 784+5  grim7reaper /* ./viewtopic.php?pid=3486252#p3486252 */
7) 682    \\Ouranos//
8) 680    Р☢w ! ✰ :mad: ✰ (эй !)
9) 636    helly
10) 389    Lagierl
11) 364    gnuuat
12) 267    tshirtman
13) 176    Askelon
14) 167    Kanor
15) 132    nathéo
16) 121    ǤƦƯƝƬ
17) 93    petifrancais
18) 78    edge_one
19) 70    gulp
20) 66    pierguiard
21) 59    kamui57
21) 59    The Uploader
23) 37    ilagas
24) 30    keny
25) 27    Le Rouge
26) 25    GentooUser
27) 24    ไ୦บเઢ'
28) 20    Morgiver
28) 20    CROWD
30) 19    xapantu
31) 18    Ph3nix_
32) 15    timsy
33) 14    kouskous
34) 12    stratoboy
34) 12    sailing
36) 11    alexises
36) 11    Crocoii
38) 10    Toineo
38) 10    NutMotion
38) 10    pseudovingtcinqcaracteres
38) 10    pfriedZ
42) 8    Mornagest
43) 7    Vista
44) 6    Zeibux
44) 6    ubuntlin
44) 6    asma.geek
47) 5    tendances-tdct
48) 4    danychou56
48) 4    Neros
48) 4    Biaise
48) 4    totoflute
48) 4    pinballyoda ㋛
53) 2    SoJaS
53) 2    ceric
55) 1    geenux

chart?chs=675x280&cht=p3&chco=d80020,d88000,ffd840,20d820,2080ff,101080,a020d8&chf=bg,s,fbf9f4&chl=00h%20-%2000h59|01h%20-%2001h59|02h%20-%2002h59|03h%20-%2003h59|04h%20-%2004h59|07h%20-%2007h59|15h%20-%2015h59|16h%20-%2016h59|17h%20-%2017h59|18h%20-%2018h59|19h%20-%2019h59|20h%20-%2020h59|21h%20-%2021h59|23h%20-%2023h59&chd=t:4,6,3,3,2,2,2,3,7,6,5,1,4,2&chp=1.6&chtt=R%C3%A9partition%20des%20posts&chts=606060,16chart?chs=675x250&cht=bvs&chxt=x,y&chds=0,10&chxr=1,0,10&chf=b0,lg,0,803000,0,ffc080,1|bg,s,fbf9f4&chxl=0:|05h|06h|07h|08h|09h|10h|11h|12h|13h|14h|15h|16h|17h|18h|19h|20h|21h|22h|23h|00h|01h|02h|03h|04h&chxp=0,0.7,4.9,9.1,13.2,17.3,21.5,25.6,29.8,33.9,38,42.2,46.3,50.5,54.6,58.8,62.9,67,71.2,75.3,79.4,83.6,87.7,91.8,96&chd=t:0,0,2,0,0,0,0,0,0,0,2,3,7,6,5,1,4,0,2,4,6,3,3,2&chm=N,803000,0,-1,12&chtt=|Nombre%20de%20posts%20par%20heure&chts=606060,16


Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#1337 Le 14/11/2010, à 08:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [2] */

Scores de la période en cours :

1) 126    nesthib
2) 106    grim7reaper
2) 106    samuncle
4) 100    nathéo
5) 92    Кຼزດ
6) 79    cm-t
7) 75    gnuuat
8) 61    Pylade
9) 46    Askelon
10) 29    Lagierl
11) 28    \\Ouranos//
12) 11    tshirtman
13) 9    The Uploader
14) 4    Р☢w ! ✰ :mad: ✰ (эй !)
15) 3    Kanor
16) 1    xapantu

Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#1338 Le 14/11/2010, à 12:27

Pylades

Re : /* Topic des codeurs couche-tard [2] */

grim7reaper a écrit :

Dans la majorité (pas tous, certes…) des débats que j'ai vu/lu, les principaux protagonistes changent rarement d'avis (ou si peu).

Tu m'as pourtant souvent fait changer d'avis…


ArkSeth a écrit :

Disons que j'aurais qualifié ça de débat aussi, si Pylade n'avait pas sorti ses *PAN* et parlé de tuer le troll tongue
[…]

En fait, quand j'ai lu ça j'ai cru que c'était du pur troll ! yikes


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1339 Le 14/11/2010, à 12:52

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

gnuuat a écrit :

*bweurk*

Il y a pire, mais l'usage de std::find aurait pu être utile.

Pylade a écrit :
grim7reaper a écrit :

Dans la majorité (pas tous, certes…) des débats que j'ai vu/lu, les principaux protagonistes changent rarement d'avis (ou si peu).

Tu m'as pourtant souvent fait changer d'avis…

Sur les discussions techniques c'est différent, en général il y a « une vérité » donc c'est plus facile de convaincre l'autre.

Hors ligne

#1340 Le 14/11/2010, à 17:24

Elzen

Re : /* Topic des codeurs couche-tard [2] */

Bon, j'vais encore vous sûrement faire bondir tongue mais maintenant que mes différentes structures et les fonctions associées ont l'air de bien fonctionner, j'ai besoin de m'en servir, et j'ai un petit doute sur la manière dont je dois opérer…

Donc, mes fonctions d'insertions prennent en paramètre le mot à insérer sous la forme d'un char* classique. L'intitulé du TP demande que, pour un mot donné (un char* lui aussi, ci-dessous désigné par word), on insère :
1/ tous ses préfixes.
2/ tous ses suffixes.
3/ tous ses facteurs.

Étant donné qu'il n'existe à ma connaissance pas de fonction substr en C, j'aimerais votre avis sur la manière dont j'envisage de procéder :

– Pour les préfixes, créer un second char* prefix, de la même taille que word et rempli de '\0', puis faire une boucle sur i de 0 à strlen(word), et à chaque tour, appeler strncpy pour copier les i premier caractères de word dans prefix puis insérer prefix.

– Pour les suffixes, créer un second char* suffix, de la même taille que word et rempli de '\0', puis faire une boucle sur i de 0 à strlen(word), et à chaque tour, appeler strcpy pour copier word+i dans suffix puis insérer suffix.

– Pour les facteurs, pour l'instant, je ne vois pas (l'énoncé nous indique « (aide : insérer successivement tous les suffixes du mot du plus long au plus court) », mais ça ne m'aide pas beaucoup dans l'immédiat).
Edit : une solution pourrait être de faire la double-boucle : pour i de 0 à strlen(word), pour j de 0 à strlen(word)-i, faire strncpy des i premiers caractères de word+j et insérer, mais il y a peut-être plus élégant, non ?

À première vue, cette manière de procéder vous paraît-elle correcte ou monstrueuse ? ^^ (Et si vous avez des suggestions pour les facteurs…)

Dernière modification par ArkSeth (Le 14/11/2010, à 17:31)

Hors ligne

#1341 Le 14/11/2010, à 18:07

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

Du point de vue algorithmique ça me semble bien, après faut voir l'implémentation.
Il y a peut-être moyen de bosser sans faire de copie, faut voir…

Elles fonctionnent comment tes fonctions d'insertion :  elles insèrent directement leurs paramètres ou elles en insèrent une copie (elles font une allocation interne) ?

Sinon, tu pourrais donner un exemple complet sur un mot court pour qu'on se mettent d'accord sur la définition de préfixes, suffixes et facteurs (surtout facteur en fait) ?

Dernière modification par grim7reaper (Le 14/11/2010, à 18:31)

Hors ligne

#1342 Le 14/11/2010, à 18:56

Elzen

Re : /* Topic des codeurs couche-tard [2] */

grim7reaper a écrit :

Il y a peut-être moyen de bosser sans faire de copie, faut voir…

Elles fonctionnent comment tes fonctions d'insertion :  elles insèrent directement leurs paramètres ou elles en insèrent une copie (elles font une allocation interne) ?

L'exo porte sur un genre de parcours d'automates : les mots insérés ne sont pas mémorisés tels quels, mais le truc contient une liste (sous forme de matrice ou de liste chaînée) d'états-transitions (tu es dans tel état, tu lis telle lettre, va dans tel autre état).
Par contre, la lecture du mot à l'insertion utilise strlen, qui me semble-t-il repère la longueur de la chaîne à la position du caractère terminal, donc à moins de foutre artificiellement des '\0' dans la chaîne de départ, je ne vois pas comment je peux faire sans copie.

grim7reaper a écrit :

Sinon, tu pourrais donner un exemple complet sur un mot court pour qu'on se mettent d'accord sur la définition de préfixes, suffixes et facteurs (surtout facteur en fait) ?

J'vais prendre un des exemple favoris du prof : le mot « a t a a t ». Pour autant que j'ai bien compris moi-même :
Les préfixes sont les mots formés par les premières lettres d'un mot, dans l'ordre, sans sauts, soit le mot vide, « a », « a t », « a t a », « a t a a » et « a t a a t ».
Les suffixes sont les mots formés par les dernières lettres d'un mot, dans l'ordre, sans sauts, soit le mot vide, « t », « a t », « a a t », « t a a t » et « a t a a t ».
Les facteurs sont les mots formés par un nombre quelconque de lettres du mots, dans l'ordre, et sans sauts. Cet ensemble contient donc tous les préfixes et tous les suffixes, plus ici les mots « t a », « a a » et « t a a ».

(Les mots formés avec des sauts, par exemple ici « a t t », sont des sous-mots mais ne sont pas des facteurs. Et je pourrais continuer, mais il n'y a que de ça dont on a besoin, et j'pense pas que ça t'intéresse particulièrement que je te récite le cours)

Dernière modification par ArkSeth (Le 14/11/2010, à 19:00)

Hors ligne

#1343 Le 14/11/2010, à 19:02

Pylades

Re : /* Topic des codeurs couche-tard [2] */

Ah, c'est ça !


Ben pour les facteur, c'est simple alors : tu fais successivement tous les préfixes de chacun des suffixes du mot de départ. tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1344 Le 14/11/2010, à 19:03

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

J'avais deviné que c'était des automates (matrice de transition, suffixes, préfixes & cie ^^).

ArkSeth a écrit :

foutre artificiellement des '\0' dans la chaîne de départ

Yep, c'est à ça que je pensais. C'est faisable dans ton cas ?

Genre, pour les préfixes ça donne un truc du genre

void prefix(char* s)
{
    char  c;
    char* p = s;

    while(*p)
    {
        c = *p;
        *p = '\0';
        insert(s);
        *p = c;
        p++;
    }
    insert(s);
}

Pour les définitions, on est d'accord.

@Pylade : le début de la gloire tongue

Dernière modification par grim7reaper (Le 14/11/2010, à 19:18)

Hors ligne

#1345 Le 14/11/2010, à 19:23

Elzen

Re : /* Topic des codeurs couche-tard [2] */

On pourrait effectivement injecter des '\0' dans la chaîne de caractère de départ plutôt que de faire de copies, mais je sais pas, ça me paraît un peu bizarre de bousiller une chaîne de caractères de *argv… ceci dit, ce serait effectivement plus simple (et ça expliquerait peut-être le message d'aide, pour les facteurs)

Hors ligne

#1346 Le 14/11/2010, à 19:30

grim7reaper

Re : /* Topic des codeurs couche-tard [2] */

Tu ne la bousilles pas vu que tu la rends dans l'état dans lequel on te l'a passé…
Et puis les allocations c'est lent (les copies aussi c'est pas gratuit) et ça ajoute du code pour la gestion des erreurs pour les cas d'échec.
Donc quand on peut s'en passer, vaut mieux le faire.

Dernière modification par grim7reaper (Le 14/11/2010, à 19:31)

Hors ligne

#1347 Le 14/11/2010, à 19:36

Elzen

Re : /* Topic des codeurs couche-tard [2] */

Ah, oui, j'avais pas vu ton bout de code avec remise du caractère à sa place. Effectivement, c'est le genre de solution élégante que je cherchais ^^

Bon, bah, adjugé, j'vais faire comme ça ^^

Hors ligne

#1348 Le 14/11/2010, à 19:36

Pylades

Re : /* Topic des codeurs couche-tard [2] */

grim7reaper a écrit :

[…]
@Pylade : le début de la gloire tongue

\o/


^^


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1349 Le 14/11/2010, à 21:35

Elzen

Re : /* Topic des codeurs couche-tard [2] */

TP fini big_smile

Vous râleriez probablement beaucoup en voyant mon code, mais tout marche (et j'ai même fait plusieurs choses autre que coder entre mon post de tout à l'heure et celui-ci ^^)

Hors ligne

#1350 Le 14/11/2010, à 22:20

tshirtman

Re : /* Topic des codeurs couche-tard [2] */

ArkSeth a écrit :

Bon, j'vais encore vous sûrement faire bondir tongue mais maintenant que mes différentes structures et les fonctions associées ont l'air de bien fonctionner, j'ai besoin de m'en servir, et j'ai un petit doute sur la manière dont je dois opérer…

if it's not tested, it's broken:

man assert

sinon je viens de voir votre projet "ella" gros boulot! moi qui me demandait ou était occupé xapantu! il ira loin ce ptit!

Dernière modification par tshirtman (Le 14/11/2010, à 22:33)

Hors ligne