Contenu | Rechercher | Menus

Annonce

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.

#1001 Le 11/01/2011, à 01:26

The Uploader

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

helly a écrit :

Enfin mes cours de « applications www » demain big_smile.
Alors, flash ou pas flash ?

pas Flash! mad

Même en 64 bits, il te fait griller un Core 2 Duo! >_<


- 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

#1002 Le 11/01/2011, à 01:26

gnuuat

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

Parce que le processeur 8bits, c'était de la rigolade.
Jeudi, on aura le droit à un bloc musical... Combiné à la redstone, nous allons redonner naissance... Aux orgues mécaniques !


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

Hors ligne

#1003 Le 11/01/2011, à 01:27

helly

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

The Uploader a écrit :
helly a écrit :

Enfin mes cours de « applications www » demain big_smile.
Alors, flash ou pas flash ?

pas Flash! mad

Même en 64 bits, il te fait griller un Core 2 Duo! >_<

Ça me donnerai encore une excellente raison de gueuler smile.
Surtout que je me suis pas encore frité avec ce prof…


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#1004 Le 11/01/2011, à 01:33

Sir Na Kraïou

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

mad


Descendant de Charlemagne et de LUCA.
Bleu, en l'hommage d'un truc bleu. :'(
C'est pas du bleu.
C'est pas le lac de Genève, c'est le Lac Léman.

Hors ligne

#1005 Le 11/01/2011, à 01:41

grim7reaper

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

Moi demain j'ai 3h de taff sur la conception d'un tracker GPS.
Et je vais sûrement passer l'aprem à essayer de faire progresser mon projet qui, pour le moment, stagne à fond pour cause de problèmes techniques qui s'enchaîne >_<.

Mais bon, je vais pas me plaindre parce qu'aujourd'hui c'était plutôt cool.
Ce matin TP, le but c'est de mettre un noyau Linux là-dessus smile.
Pour le moment, on devait installer la machine de dev' :
- installation de CentOs
- compilation de gtkterm
- installation de la chaîne de cross-compilation
- configuration du serveur TFTP et du serveur DHCP.

Il me reste à configurer le NFS, compiler le noyau (après l'avoir « configuré ») et après on pourra commencer les trucs marrants smile.

Hors ligne

#1006 Le 11/01/2011, à 01:55

Кຼزດ

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

Ça m'a l'air sympathique.


dou

Hors ligne

#1007 Le 11/01/2011, à 01:58

Pylades

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

Et moi demain j'ai biostats, le cours qui ne sert à rien et qui en plus est ultra-chiant car obligatoire, donc avec une ambiance de merde ! \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

#1008 Le 11/01/2011, à 01:58

grim7reaper

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

@Кຼزດ : Yep, au moins on bosse sur du libre. Ça fait toujours plaisir smile

Tiens, tant que tu passes par là : j'ai testé ton logiciel pymg et je le trouve plutôt sympa (c'est vrai que c'est bien pratique cette histoire de récursivité).



@Pylade : Bon courage, moi après demain j'ai 3h de Java…

Dernière modification par grim7reaper (Le 11/01/2011, à 02:10)

Hors ligne

#1009 Le 11/01/2011, à 02:05

The Uploader

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

Bon courage, moi après demain j'ai 3h de Java…

Au moins c'est pas des JSP. tongue

<% bean.machinchose() %/>

(sur toute la page >_< freakin' horrible!)


- 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

#1010 Le 11/01/2011, à 02:09

Pylades

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

Merci, mais ce n'est pas tant le cours qui demande du courage que le contrôle qui s'approche à grands pas — dans trois jours, si l'on peut dire (in-joke).


Et bon courage à vous aussi pour les choses que vous devez parfois faire et qui heurtent votre (ou vos, dans le cas de grim7reaper) cœur de libriste…

Dernière modification par Pylade (Le 11/01/2011, à 02:11)


“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

#1011 Le 11/01/2011, à 04:13

nesthib

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

smile


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

#1012 Le 11/01/2011, à 05:07

samυncle

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

.


Hello world

Hors ligne

#1013 Le 11/01/2011, à 08:42

Compteur du TdCCT

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

Scores totaux, depuis le début :

1) 2281    nesthib
2) 2157    samuncle
3) 1831    Pylade
4) 1486    Кຼزດ
5) 1098+5  grim7reaper /* ./viewtopic.php?pid=3486252#p3486252 */
6) 1048    cm-t
7) 783    \\Ouranos//
8) 771    helly
9) 758    Р☢w ! ✰ :mad: ✰ (эй !)
10) 582    gnuuat
11) 536    Lagierl
12) 363    tshirtman
13) 196    Askelon
14) 185    Kanor
15) 172    nathéo
16) 121    ǤƦƯƝƬ
16) 121    The Uploader
18) 106    Rolinh
19) 93    petifrancais
20) 78    edge_one
20) 78    pierguiard
22) 70    gulp
23) 63    kamui57
24) 37    ilagas
25) 32    Le Rouge
26) 30    keny
27) 25    GentooUser
27) 25    Morgiver
27) 25    xapantu
30) 24    ไ୦บเઢ'
30) 24    Steap
32) 20    CROWD
32) 20    d10g3n
34) 18    Ph3nix_
35) 15    timsy
36) 14    kouskous
37) 12    stratoboy
37) 12    sailing
37) 12    sakul
40) 11    alexises
40) 11    Crocoii
42) 10    Toineo
42) 10    NutMotion
42) 10    pseudovingtcinqcaracteres
42) 10    pfriedZ
46) 8    Mornagest
46) 8    :!pakman
48) 7    Vista
49) 6    Zeibux
49) 6    ubuntlin
49) 6    asma.geek
52) 5    tendances-tdct
52) 5    kinouchou
54) 4    danychou56
54) 4    Neros
54) 4    Biaise
54) 4    totoflute
54) 4    pinballyoda ㋛
59) 3    Revan26914
60) 2    SoJaS
60) 2    ceric
62) 1    geenux

RépartitionPosts/heure


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

#1014 Le 11/01/2011, à 08:42

Compteur du TdCCT

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

Scores de la période en cours :

1) 92    samuncle
2) 80    nesthib
3) 71    Кຼزດ
4) 59    Pylade
5) 50    gnuuat
6) 49    grim7reaper
7) 30    helly
8) 28    The Uploader
9) 26    Р☢w ! ✰ :mad: ✰ (эй !)
10) 25    Rolinh
11) 18    Lagierl
12) 15    \\Ouranos//
12) 15    tshirtman
14) 8    :!pakman
15) 4    kamui57
16) 3    Steap
16) 3    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

#1015 Le 11/01/2011, à 19:12

:!pakman

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

Tu fait quoi comme formation grim ?

Dernière modification par :!pakman (Le 11/01/2011, à 19:13)


...

Hors ligne

#1016 Le 11/01/2011, à 19:17

grim7reaper

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

École d'ingé (publique) en informatique.
Actuellement je me spécialise dans les systèmes embarqués.
À la base j'était biologiste (bac), puis bioinformaticien (DUT) et maintenant je fais ça smile

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

Hors ligne

#1017 Le 11/01/2011, à 19:48

Rolinh

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

Toujours un moment émouvant smile

Même si c'est bourré de bugs (release often disait l'autre).

Hors ligne

#1018 Le 11/01/2011, à 21:09

Elzen

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

Bon, p'tite question de choix de tactique big_smile

J'veux lire un fichier et générer un tableau de chaînes de caractères, chaque case du tableau devant correspondre à une ligne du fichier (sans le '\n' final) : je vois trois techniques possible, et j'hésite entre les trois (c'est en C, of course ^^).

Idée n°1 : je lis le fichier une première fois, je compte le nombre de '\n' qu'il y a dedans, j'alloue mon tableau directement au bon nombre, puis je lis le fichier une deuxième fois pour remplir le tableau ligne à ligne.

Idée n°2 : j'alloue le tableau à autant de cases que la taille du fichier (donc j'suis à peu près sûr qu'il est trop grand), je parcours le fichier une seule fois en remplissant le début du tableau, puis une fois le fichier finit, je libère la mémoire sur la fin du tableau (enfin, si free(ptr+X); est bien possible).

Idée n°3 : j'alloue une seule chaîne de caractère à la taille du fichier, je la remplis ligne par ligne en remplaçant les '\n' par des '\0' et je compte le nombre de ligne, puis une fois terminé, j'alloue le tableau directement au bon nombre de cases, et je fais une boucle pour faire pointer chaque case du tableau là où il faut dans la grosse chaîne.

Z'en pensez quoi ? J'penche pour la troisième version, mais si vous voyez autre chose…

Hors ligne

#1019 Le 11/01/2011, à 21:15

Rolinh

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

Une allocation dynamique?

Hors ligne

#1020 Le 11/01/2011, à 21:18

Elzen

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

Plaît-il ? :s

Hors ligne

#1021 Le 11/01/2011, à 21:26

Rolinh

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

Un truc dans ce goût-là, très grossièrement:

char *line = malloc(STR_LEN*sizeof(char));
char *name = malloc(STR_LEN*sizeof(char));
size_t len = 0;

if (line == NULL || name == NULL){
    fprintf(stderr, "ERROR: allocating memory failed");
    exit(-1);
}

while (fgets(line,sizeof(char) * STR_LEN, stdin)){

    len = strlen(line);

    /* checks if something has bean read */
    if (len < STR_LEN - 1 || line[len - 1] == '\n'){
        strcat(name,line);
        break;
    } else {
        strcat(name,line);
        /* reallocate memory for longer string ! */
        name = realloc(name, i * STR_LEN * sizeof(char));

        if (name == NULL){
            fprintf(stderr, "ERROR: reallocating memory failed\n");
            exit(-1);
        }
    }

    i++;
}

return name;

EDIT: excuse, j'ai vraiment lu ta demande trop en diagonale. Ce que je t'ai donné c'est un exemple de code pour avoir une chaine de taille infinie (un bout de code qui me vient d'un TP que j'ai fait il y a longtemps). Mais le même principe peut être appliqué pour ton tableau.

Dernière modification par Rolinh (Le 11/01/2011, à 21:30)

Hors ligne

#1022 Le 11/01/2011, à 21:33

grim7reaper

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

ArkSeth a écrit :

Idée n°1 : je lis le fichier une première fois, je compte le nombre de '\n' qu'il y a dedans, j'alloue mon tableau directement au bon nombre, puis je lis le fichier une deuxième fois pour remplir le tableau ligne à ligne.

Boarf, nécessite deux passes => pénalisant pour les gros fichiers.

Idée n°2 : j'alloue le tableau à autant de cases que la taille du fichier (donc j'suis à peu près sûr qu'il est trop grand), je parcours le fichier une seule fois en remplissant le début du tableau, puis une fois le fichier finit, je libère la mémoire sur la fin du tableau (enfin, si free(ptr+X); est bien possible).

Impossible de faire

free(ptr+X);

Car tu ne peux libérer qu'un pointeur alloué par malloc/calloc/realloc avec free (ces fonctions stockent diverses infos sur ces pointeurs comme la taille de la zone allouée, du moins il me semble qu'il y a une histoire de ce genre).

En revanche, un realloc de la bonne taille devrait permettre de réduire la zone allouée (à vérifier).
Sinon pour la méthode en elle-même : gros gaspillage (certes temporaire) de mémoire (encore une fois, très pénalisant sur les gros fichiers…)

Idée n°3 : j'alloue une seule chaîne de caractère à la taille du fichier, je la remplis ligne par ligne en remplaçant les '\n' par des '\0' et je compte le nombre de ligne, puis une fois terminé, j'alloue le tableau directement au bon nombre de cases, et je fais une boucle pour faire pointer chaque case du tableau là où il faut dans la grosse chaîne.

Ouais, j'avais pensé à ça aussi et ça me semble être une bonne solution (toujours deux passes, mais pas de gaspillage de mémoire).

Sinon, tu peux aussi allouer un nombre abritraire de cases au début, puis procéder par agrandissement « exponentiel » (chui pas sûr que le terme soit approprié) lorsque c'est nécessaire.
D'après Andrew Koenig, il faut choisir un facteur de croissance du genre (1 + x) où x  > 0 (il me semble que 1.5 est un très bon choix de facteur dans le cas général).
Tu perds de la place, mais tu limites les recopies inutiles (et tu ne fais qu'un seul et unique parcours).



@Rolinh : quand je vois des exit dans un code, je sors mon revolver…
Sinon, la manière dont tu utilises realloc c'est un appel à la fuite de mémoire (en cas d'échec de realloc). Mais bon, vu que tu quittes le programme comme une brute juste après ce n'est « pas grave »

Dernière modification par grim7reaper (Le 11/01/2011, à 21:47)

Hors ligne

#1023 Le 11/01/2011, à 21:47

Rolinh

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

grim7reaper a écrit :

@Rolinh : quand je vois des exit dans un code, je sors mon revolver…

Bah, si ça te fait plaisir tongue

Le n'est pas propre ni même complet, c'était juste pour l'exemple de realloc.

Hors ligne

#1024 Le 11/01/2011, à 21:48

Pylades

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

ArkSeth a écrit :

[…] puis une fois le fichier finit, je libère la mémoire sur la fin du tableau (enfin, si free(ptr+X); est bien possible).
[…]

Hérésie !

Mais comme l'a dit grim7reaper, tu dois utiliser realloc ; et moi je suis catégorique : ça fonctionne correctement et c'est la seule solution.


Rolinh a écrit :

Un truc dans ce goût-là, très grossièrement:

char *line = malloc(STR_LEN*sizeof(char));
char *name = malloc(STR_LEN*sizeof(char));
size_t len = 0;

if (line == NULL || name == NULL){
    fputs("ERROR: allocating memory failed\n", stderr);
    free(line), free(name);
    exit(-1);
}

[…]

C'est mieux ainsi…
(Et je ne vois pas la déclaration de i)…


grim7reaper a écrit :

[…]
Sinon, tu peux aussi allouer un nombre abritraire de cases au début, puis procéder par agrandissement « exponentiel » (chui pas sûr que le terme soit approprié) lorsque c'est nécessaire.
D'après Andrew Koenig, il faut choisir un facteur de croissance du genre (1 + x) où x  > 0 (il me semble que 1.5 est un très bon choix de facteur dans le cas général).
Tu perds de la place, mais tu limites les recopies inutiles (et tu ne fais qu'un seul et unique parcours).

Ouais, c'est ce qui me paraît le plus approprié (bon après t'as peut-être des contraintes particulières).
Et je trouve le terme « exponentiel » tout à fait approprié aussi.


grim7reaper a écrit :

@Rolinh : quand je vois des exit dans un code, je sors mon revolver…

T'es si catégorique que ça ? T'as des arguments ?

Dernière modification par Pylade (Le 11/01/2011, à 21:50)


“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

#1025 Le 11/01/2011, à 21:48

grim7reaper

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

@Rolinh : Justement, l'exemple de realloc est mauvais (Cf. mon édit)


Pylade a écrit :
grim7reaper a écrit :

@Rolinh : quand je vois des exit dans un code, je sors mon revolver…

T'es si catégorique que ça ? T'as des arguments ?

Non bien sûr, il y a des cas où c'est justifié bien entendu.
C'est juste que le voir utiliser à tort et à travers ça me rend violent ^^.

Pour les arguments, bah c'est juste crade de quitter comme ça quand tu joues avec les *alloc : exit ne libère pas la mémoire allouée avant de quitter (Ok avec Linux, Windows, BSD & cie, no problem ils nettoient après ton passage mais ce n'est pas une raison).

Dernière modification par grim7reaper (Le 11/01/2011, à 21:57)

Hors ligne