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

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  24406  24407  24408  ..  27169  27170  27171  27172  27173  27174
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2401986
flo850
moi je
Posté le 01-12-2021 à 11:07:04  profilanswer
 

Reprise du message précédent :
je ne peux pas le faire durant mon trajet pour le boulot :o


---------------

mood
Publicité
Posté le 01-12-2021 à 11:07:04  profilanswer
 

n°2401987
Dion
Acceuil
Posté le 01-12-2021 à 11:25:13  profilanswer
 

flo850 a écrit :


tu pourrais avoir tes street cred dev hipster facilement pourtant


A un moment il faut être réaliste :
https://reho.st/https://i.kym-cdn.com/entries/icons/original/000/018/666/fellowkids.jpg
 
Donc même si ça commençait à une heure où je n'ai pas besoin de mettre le réveil plus tôt...  
 

Kenshineuh a écrit :


 
J'ai déjà du mal à me lever avant 9h même pour des rdv super important, donc pour coder un truc à le con hein.  :o


Couches toi à 7h du mat'  [:cosmoschtroumpf]


---------------
It is not called show art
n°2401988
Harkonnen
Un modo pour les bannir tous
Posté le 01-12-2021 à 11:26:48  profilanswer
 

ma solution en Java, pas du tout verbeuse [:dawa]
 



---------------
J'ai un string dans l'array (Paris Hilton)
n°2401989
el_barbone
too old for this shit ...
Posté le 01-12-2021 à 11:29:07  profilanswer
 

flo850 a écrit :

je ne peux pas le faire durant mon trajet pour le boulot :o


tu bosses pas @home ?


---------------
En théorie, la théorie et la pratique sont identiques, en pratique, non.
n°2401990
Kenshineuh
Posté le 01-12-2021 à 11:29:36  profilanswer
 

Dion a écrit :


Couches toi à 7h du mat'  [:cosmoschtroumpf]


 
J'en discute avec Plam asap. :o

n°2401991
Flaie
Posté le 01-12-2021 à 11:36:27  profilanswer
 

Harkonnen a écrit :

ma solution en Java, pas du tout verbeuse [:dawa]
 




sexy :)

n°2401992
ratibus
Posté le 01-12-2021 à 11:37:55  profilanswer
 

el_barbone a écrit :


tu bosses pas @home ?


 
That's the point :o


---------------
Mon blog
n°2401993
flo850
moi je
Posté le 01-12-2021 à 11:38:00  profilanswer
 

Dion a écrit :


A un moment il faut être réaliste :
https://reho.st/https://i.kym-cdn.c [...] owkids.jpg
 
Donc même si ça commençait à une heure où je n'ai pas besoin de mettre le réveil plus tôt...  
 
 
Couches toi à 7h du mat'  [:cosmoschtroumpf]


fait le en excel ?  

el_barbone a écrit :


tu bosses pas @home ?


si
donc pas trop de train/metro/trotinette


---------------

n°2401994
R3g
fonctionnaire certifié ITIL
Posté le 01-12-2021 à 11:38:03  profilanswer
 

Harkonnen a écrit :

ma solution en Java, pas du tout verbeuse [:dawa]
 




Putain je fais bien de pas jouer à votre truc je crois, j'ai rien compris :

Spoiler :

- pourquoi tu fais des sommes ?
- pourquoi tu le fais tourner deux fois et à quoi servent les offsets ?


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2401995
nraynaud
lol
Posté le 01-12-2021 à 11:42:59  profilanswer
 

R3g a écrit :


Putain je fais bien de pas jouer à votre truc je crois, j'ai rien compris :

Spoiler :

- pourquoi tu fais des sommes ?
- pourquoi tu le fais tourner deux fois et à quoi servent les offsets ?



Il a du mettre des booléens et il doit les compter avec la somme.


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le 01-12-2021 à 11:42:59  profilanswer
 

n°2401996
Flaie
Posté le 01-12-2021 à 11:44:43  profilanswer
 

flo850 a écrit :


fait le en excel ?  


 

flo850 a écrit :


si
donc pas trop de train/metro/trotinette


y'a un mec sur reddit qui s'est classe dans le top 100 avec Excel comme chaque année :D  
 
pour le coup cet exo c'est vraiment simple tu mets 1 si la case est plus grande que celle du dessus, 0 sinon et il t'affiche le count gratos en bas, j'aurais clairement été plus vite avec Excel :lol:

n°2401997
Harkonnen
Un modo pour les bannir tous
Posté le 01-12-2021 à 11:45:39  profilanswer
 

R3g a écrit :


Putain je fais bien de pas jouer à votre truc je crois, j'ai rien compris :

Spoiler :

- pourquoi tu fais des sommes ?
Parce que dans la deuxième partie, à laquelle tu as accés quand tu as répondu juste à la première, on te demande de faire une comparaison sur la somme de 3 éléments d'une fenêtre flottante. Du coup, j'ai factorisé les 2 parties en une seule : sur la première partie, au lieu de comparer l'élément courant et l'élément suivant, je compare la somme des éléments d'une sous-liste dont la taille est de 1
- pourquoi tu le fais tourner deux fois et à quoi servent les offsets ?
Je le fais tourner 2 fois parce qu'il y a 2 parties, et les offsets servent à définir la taille de la sous-liste (taille 1 pour la première partie, et taille 3 pour la seconde)




Message édité par Harkonnen le 01-12-2021 à 11:46:34

---------------
J'ai un string dans l'array (Paris Hilton)
n°2401998
R3g
fonctionnaire certifié ITIL
Posté le 01-12-2021 à 11:51:22  profilanswer
 


Ah ok, j’avais juste lu l’énoncé, je savais pas qu’il y avait une deuxième partie


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2401999
skeye
Posté le 01-12-2021 à 11:51:29  profilanswer
 

Flaie a écrit :

Après ça peut se comprendre si c'est pour le faire en PHP ou JS :o


On peut s'amuser avec tous les langages, genre je l'ai fait en php sans utiliser de tableaux [:chrisbk]

 

[edit]

 
Spoiler :


Ah si tiens j'ai machinalement utilisé un tableau pour calculer les fenetres, zut :D
Cela dit ça devient casse pieds de gérer les bornes avec un générateur, je suppose :o

Message cité 2 fois
Message édité par skeye le 01-12-2021 à 11:55:22

---------------
Can't buy what I want because it's free -
n°2402000
Flaie
Posté le 01-12-2021 à 12:01:14  profilanswer
 

skeye a écrit :


On peut s'amuser avec tous les langages, genre je l'ai fait en php sans utiliser de tableaux [:chrisbk]
 
[edit]
 

Spoiler :


Ah si tiens j'ai machinalement utilisé un tableau pour calculer les fenetres, zut :D  
Cela dit ça devient casse pieds de gérer les bornes avec un générateur, je suppose :o



I know, red face is red :)

n°2402001
Dion
Acceuil
Posté le 01-12-2021 à 12:05:47  profilanswer
 

Kenshineuh a écrit :


 
J'en discute avec Plam asap. :o


Va falloir choisir, est ce un leader éclairé orienté résultat ou est ce un micro manager qui vous demande pointer vos heures sous projet par sous projet ? [:mlc]
 

flo850 a écrit :


fait le en excel ?  
 
si
donc pas trop de train/metro/trotinette


Faire mes excel moi même ? T'es pas un peu fou ?  [:pingouino]  


---------------
It is not called show art
n°2402002
Hermes le ​Messager
Breton Quiétiste
Posté le 01-12-2021 à 12:06:05  profilanswer
 

R3g a écrit :


Ah ok, j’avais juste lu l’énoncé, je savais pas qu’il y avait une deuxième partie


 
Moi pareil vu que j'ai pas submit. J'ai juste fait pour moi.


---------------
Expert en expertises
n°2402003
gfive
Posté le 01-12-2021 à 12:07:31  profilanswer
 

L'ado qui est resté au lycée plus longtemps pour faire le day one de l'AoC :o


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2402004
Hermes le ​Messager
Breton Quiétiste
Posté le 01-12-2021 à 12:07:42  profilanswer
 

skeye a écrit :


On peut s'amuser avec tous les langages, genre je l'ai fait en php sans utiliser de tableaux [:chrisbk]
 
[edit]
 

Spoiler :


Ah si tiens j'ai machinalement utilisé un tableau pour calculer les fenetres, zut :D  
Cela dit ça devient casse pieds de gérer les bornes avec un générateur, je suppose :o



 
Je pense que le but, c'est même de s'amuser avec plusieurs langages qu'on maîtrise moins. :) (enfin sauf si on vise le classement, mais bon... )


---------------
Expert en expertises
n°2402005
skeye
Posté le 01-12-2021 à 12:13:57  profilanswer
 

gfive a écrit :

L'ado qui est resté au lycée plus longtemps pour faire le day one de l'AoC :o


quel langage? :D

Message cité 1 fois
Message édité par skeye le 01-12-2021 à 12:14:02

---------------
Can't buy what I want because it's free -
n°2402006
Flaie
Posté le 01-12-2021 à 12:17:43  profilanswer
 

Hermes le Messager a écrit :


 
Moi pareil vu que j'ai pas submit. J'ai juste fait pour moi.


Comment tu sais que ton code est juste :D ?

n°2402007
xtieu
Posté le 01-12-2021 à 12:20:04  profilanswer
 

Ma solution en python avec des list comp
 


 
Et drap :o


---------------
There's more to life than the boy in that mirror.
n°2402008
beel1
Posté le 01-12-2021 à 12:22:27  profilanswer
 

Flaie a écrit :


y'a un mec sur reddit qui s'est classe dans le top 100 avec Excel comme chaque année :D  
 
pour le coup cet exo c'est vraiment simple tu mets 1 si la case est plus grande que celle du dessus, 0 sinon et il t'affiche le count gratos en bas, j'aurais clairement été plus vite avec Excel :lol:


Ce que j'ai fait ce matin avec libreoffice histoire de gratter des points, pasque je peux me servir de ma cible que tard le soir

n°2402009
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 01-12-2021 à 12:23:20  profilanswer
 

Perso mon objectif c'est d'utiliser les ranges c++, ça fait un moment qu'elles me font de l'oeil.
 
Bon, la partie dispo dans le standard est largement insuffisante, j'ai du installer range-v3 (c'est ce qui nourrit le standard : https://github.com/ericniebler/range-v3).
 
L'interface est encore assez meh, c'est pas hyper homogène. Notamment, j'ai pas pu faire un range qui va de std::cin à la réponse finale en passant par une série de pipes. Le mieux que j'ai pu faire (volontairement pas optimisé, pour jouer avec) c'est ça :
 

Spoiler :


#include <iostream>
#include <vector>
#include <range/v3/all.hpp> // get everything
 
using namespace ::ranges;
using namespace ::ranges::views;
 
int main() {
    istream_view<int> r(std::cin);
    std::vector<int> v;
    for (auto n: r) {
        v.push_back(n);
    }
    int k = 3;
    auto s = v
             | sliding(k)
             | views::transform([](const auto &window) {
        return std::accumulate(window.begin(), window.end(), 0);
    })
             | sliding(2);
    int ans = count_if(s, [](const auto &diff) {
        return diff[1] > diff[0];
    });
    std::cout << ans << std::endl;
    return 0;
}

Message cité 1 fois
Message édité par hephaestos le 01-12-2021 à 12:23:41
n°2402010
Flaie
Posté le 01-12-2021 à 12:23:25  profilanswer
 

Hermes le Messager a écrit :


 
Je pense que le but, c'est même de s'amuser avec plusieurs langages qu'on maîtrise moins. :) (enfin sauf si on vise le classement, mais bon... )


C'est mème un très bon moyen d'apprendre un langage, à la fin de 25j tu as vu tout un tas de probleme différents, parsing, structures de données, calculs etc ça couvre bien un langage de prog, t'es pas expert mais tu as level up clairement :)

n°2402011
Flaie
Posté le 01-12-2021 à 12:30:01  profilanswer
 

hephaestos a écrit :

Perso mon objectif c'est d'utiliser les ranges c++, ça fait un moment qu'elles me font de l'oeil.
 
Bon, la partie dispo dans le standard est largement insuffisante, j'ai du installer range-v3 (c'est ce qui nourrit le standard : https://github.com/ericniebler/range-v3).
 
L'interface est encore assez meh, c'est pas hyper homogène. Notamment, j'ai pas pu faire un range qui va de std::cin à la réponse finale en passant par une série de pipes. Le mieux que j'ai pu faire (volontairement pas optimisé, pour jouer avec) c'est ça :
 

Spoiler :


#include <iostream>
#include <vector>
#include <range/v3/all.hpp> // get everything
 
using namespace ::ranges;
using namespace ::ranges::views;
 
int main() {
    istream view<int> r(std::cin);
    std::vector<int> v;
    for (auto n: r) {
        v.push_back(n);
    }
    int k = 3;
    auto s = v
             | sliding(k)
             | views::transform([](const auto &window) {
        return std::accumulate(window.begin(), window.end(), 0);
    })
             | sliding(2);
    int ans = count_if(s, [](const auto &diff) {
        return diff[1] > diff[0];
    });
    std::cout << ans << std::endl;
    return 0;
}



J'ai pas fait de C++ depuis des années et des années mais ça ressemble très fort à ce que j'ai fait en kotlin, juste la syntaxe est différente  [:perco_35:2]  
 
y'a pas des shortcut de code pour simplifier un peu les return sur les espèce de lambda que tu passes à transform / count_if ?
 
Tu gagnes quoi de passer par un  istream_view plutôt que d'iterer direct puisque tu dois le faire quand même pour remplir ton vector? y'a pas une vue vector d'exposé direct ? :D

Message cité 1 fois
Message édité par Flaie le 01-12-2021 à 12:34:13
n°2402012
gfive
Posté le 01-12-2021 à 12:39:33  profilanswer
 

skeye a écrit :


quel langage? :D

 

python

 

Ma solution en #ILoveStreams

Spoiler :

 

   public static void main(String[] args) {
        try {
            System.out.println("Test file increases : " + findIncreases(InputFileUtil.getPath(d01.class, "input-test" )));
            System.out.println("Real file increases : " + findIncreases(InputFileUtil.getPath(d01.class, "input" )));

 

           System.out.println("Test file increases window : " + findIncreases(InputFileUtil.getPath(d01.class, "input-test" )));
            System.out.println("Real file increases window : " + findIncreases(InputFileUtil.getPath(d01.class, "input" )));

 

       } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static int findIncreases(Path input, int windowSize) throws IOException {
        Stream<String> measurements = Files.lines(input);
        return measurements.map(Integer::valueOf)
                .collect(() -> new WindowCounter(windowSize), WindowCounter::add, WindowCounter::merge).counter;
    }

 


    public static class WindowCounter {
        int counter = 0;
        LinkedList<Integer> window;
        final int windowSize;

 

       public WindowCounter(int windowSize) {
            this.windowSize = windowSize;
            this.counter = 0;
            this.window = new LinkedList<>();
        }

 

       public void add(int value) {
            if (window.size() == windowSize) {
                int last = window.pollLast();
                if (value > last) {
                    counter++;
                }
            }
            window.push(value);
        }

 

       public WindowCounter merge(WindowCounter other) {
            this.counter += other.counter;
            return this;
        }
    }


Message édité par gfive le 01-12-2021 à 13:04:06

---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2402013
Flaie
Posté le 01-12-2021 à 12:52:37  profilanswer
 

Joli usage des collectors.

n°2402014
gfive
Posté le 01-12-2021 à 12:55:05  profilanswer
 

Flaie a écrit :

Joli usage des collectors.

 


Merci :o

 

Tu remarqueras que je calcule pas les sommes non plus :o
Merci les révisions récentes des suites en maths pour penser à calculer Son -S(n-1) :o


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2402015
ratibus
Posté le 01-12-2021 à 13:02:23  profilanswer
 

Spoiler :o


---------------
Mon blog
n°2402016
gfive
Posté le 01-12-2021 à 13:03:33  profilanswer
 

(et on note que mon machin marche pas si j'autorise la parallélisation  : le merge de mon compteur est tout foireux. En réalité il faudrait garder la première fenêtre complète constituée pour faire les calculs avec la dernière fenêtre du Counter d'avant.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2402017
Devil'sTig​er
Posté le 01-12-2021 à 13:04:51  profilanswer
 

En rust :o
 
Et je vais ptete pas tous les faire, la flemme :o
 
 

Code :
  1. /// Advent of Code day #1
  2. ///
  3. /// # Arguments
  4. ///
  5. /// * `data` - The data to filter.
  6. fn aoc01(data: &Vec<i32> ) -> (usize, usize) {
  7.     let mut prev: &i32 = &0;
  8.     let mut incr: usize = 0;
  9.     for (i, el) in data.iter().enumerate() {
  10.         // Skip the first iteration, and increase only if needed...
  11.         if i > 0 && el > prev {
  12.             incr += 1;
  13.         }
  14.         prev = el;
  15.     }
  16.     (incr, data.len() - incr)
  17. }
  18. fn main() {
  19.     // Get the data
  20.     let s: Vec<i32> = include_str!("../input.txt" ).lines().filter_map(|s| s.parse::<i32>().ok()).collect::<Vec<i32>>();
  21.     // Stuff
  22.     let result = aoc01(&s);
  23.     // Result
  24.     println!("Incremented: {}, decremented: {}", result.0, result.1);
  25. }



Message édité par Devil'sTiger le 01-12-2021 à 13:05:08
n°2402018
Flaie
Posté le 01-12-2021 à 13:11:08  profilanswer
 

gfive a écrit :

(et on note que mon machin marche pas si j'autorise la parallélisation  : le merge de mon compteur est tout foireux. En réalité il faudrait garder la première fenêtre complète constituée pour faire les calculs avec la dernière fenêtre du Counter d'avant.


Et puis y'a moyen de code golfer tout ça pour réduire les lignes un chouia :D

n°2402019
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 01-12-2021 à 13:14:02  profilanswer
 

Flaie a écrit :


Tu gagnes quoi de passer par un  istream_view plutôt que d'iterer direct puisque tu dois le faire quand même pour remplir ton vector? y'a pas une vue vector d'exposé direct ? :D


 
Je suis pas sur de comprendre la proposition, mais essentiellement je faisais ça parce que une istream_view ne peut pas être passée par un operateur "sliding".
 
Je suppose que c'est parce que c'est une view infinie ; Par contre, ça marche si on collecte tout d'abord, en rajoutant un opérateur "all":
 

Spoiler :


#include <iostream>
#include <range/v3/all.hpp> // get everything
 
using namespace ::ranges;
using namespace ::ranges::views;
 
int main() {
    int k = 3;
    auto s = istream_view<int>(std::cin)
             | all
             | sliding(k)
             | views::transform([](const auto &window) {
        return std::accumulate(window.begin(), window.end(), 0);
    })
             | sliding(2);
    int ans = count_if(s, [](const auto &diff) {
        return diff[1] > diff[0];
    });
    std::cout << ans << std::endl;
    return 0;
}

n°2402020
Flaie
Posté le 01-12-2021 à 13:17:15  profilanswer
 

voila le all me paraît nécessaire ça t'évite toi même d'écrire du code inutile.
 
Pour le reste je ne connais pas la syntaxe des lambda c++ je pensais qu'il y'avait des shortcut supplémentaires.
 
Intéressant en tout cas.

n°2402021
Hermes le ​Messager
Breton Quiétiste
Posté le 01-12-2021 à 13:32:45  profilanswer
 

Flaie a écrit :


Comment tu sais que ton code est juste :D ?


 
En testant le code et en voyant le résultat. Mais c'est clair que je devrais submit... Mais ça me fait chier parce que ça va me pousser à finir et j'ai pas vraiment le temps pour ça :/


---------------
Expert en expertises
n°2402022
flo850
moi je
Posté le 01-12-2021 à 13:37:27  profilanswer
 

J'ai une bouche d'égout sur mon terrain qui vomi des eaux usées
Joie


---------------

n°2402023
Hermes le ​Messager
Breton Quiétiste
Posté le 01-12-2021 à 13:40:03  profilanswer
 

flo850 a écrit :

J'ai une bouche d'égout sur mon terrain qui vomi des eaux usées
Joie


 
 [:w3c compliant]  
 
Qui est responsable dans ce cas là ?? Et qui doit intervenir ? Admettons qu'elle rejette des eaux usées parce que c'est bouché hors de ton terrain ?


---------------
Expert en expertises
n°2402024
flo850
moi je
Posté le 01-12-2021 à 13:41:21  profilanswer
 

La commune , c'est probablement bouché plus loin. Mais normalement je n'ai pas a pautager de dedans


Message édité par flo850 le 01-12-2021 à 13:41:41

---------------

n°2402025
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 01-12-2021 à 13:52:15  profilanswer
 

Flaie a écrit :

voila le all me paraît nécessaire ça t'évite toi même d'écrire du code inutile.
 
Pour le reste je ne connais pas la syntaxe des lambda c++ je pensais qu'il y'avait des shortcut supplémentaires.
 
Intéressant en tout cas.


Je retire, ça marche pas non plus avec "all'. Je sais pas si c'est possible, et c'est pas clair du tout ce qui ne va pas. Bref, c'est pas encore ça les ranges :D

n°2402026
Dion
Acceuil
Posté le 01-12-2021 à 14:27:14  profilanswer
 

beel1 a écrit :


Ce que j'ai fait ce matin avec libreoffice histoire de gratter des points, pasque je peux me servir de ma cible que tard le soir


On veut la soluce en libreoffice tous les jours  :o  :o  :o


---------------
It is not called show art
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  24406  24407  24408  ..  27169  27170  27171  27172  27173  27174

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)