IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez C++ Discussion :

Exercices souvent proposés en test


Sujet :

Contribuez C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    screetch
    Invité(e)
    Par défaut Exercices souvent proposés en test
    C'est une chose assez commune de demander a des candidats de passer un petit test C/C++/Pseudo code pour vérifier les capacités de programmation (et voir comment un candidat résout un problème).

    les entreprises ne demandent bien sur pas un code qui compile, mais juste de voir comment un candidat résout un problème, s'il emploie des solutions viables (pas d'algorithmes en n2/n3 pour des choses simples, pas 2000 lignes de code pour une fonction simple, pas d'oubli des cas particuliers, etc)

    je voulais proposer ici quelques exercices (certains que je connais, d'autres que les autres utilisateurs ont surement passé/font passer) avec ce qu'on attend du résultat.

    Ca peut etre interessant d'etudier ce genre de problemes pour s'entrainer, se préparer a un entretien (bien qu'en general ils ont des questions un peu différentes, enfin j'espere)

  2. #2
    screetch
    Invité(e)
    Par défaut
    le premier exercice qu'on m'a posé :
    exercice : ecrire une fonction en C ou pascal ou pseudocode pour renverser une chaîne de caractères (le dernier caractère devient le premier, l'avant-dernier le second, etc)

  3. #3
    screetch
    Invité(e)
    Par défaut
    le second :
    On a ecrit un lecteur multimédia (XMMS/WinAmp) et l'on souhaite implémenter la fonction "randomize". Ecrivez cette fonction en C/C++/Pseudo code; elle prend en entrée un tableau des chansons, et l'on peut appeler la fonction rand() qui renvoie un entier entre 1 et RAND_MAX

  4. #4
    screetch
    Invité(e)
    Par défaut
    un exercice qui peut donner des résultats interessants :
    On a une liste simplement chainée l, non circulaire. On souhaite effacer le 5ème élément a partir de la fin. Comment ecrivez-vous ce code ?
    Dernière modification par screetch ; 11/10/2009 à 12h19.

  5. #5
    Membre chevronné
    Inscrit en
    Août 2004
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 556
    Par défaut
    Les 2 premiers exercices sont assez triviaux, mais le 3è, la liste est une simplement chainée, circulaire ou pas ?

    Parce que si elle n'est pas circulaire, je ne vois pas comment on pourrait remonter à la tête... (par exemple si l'élément suivant le dernier est "null").

    Parce que si elle est circulaire, ça devient trivial comme solution également.

    C'est le genre de problèmes qu'on apprend à résoudre aux premiers cours d'algo quand même...

    Edit: ou bien j'ai mal compris le problème et c'est l'élément size-5 qu'on veut supprimer, avec comme l pointant sur le 1er élément ? auquel cas c'est assez trivial comme solution aussi...

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 119
    Billets dans le blog
    148
    Par défaut
    Les deux premiers exemple sont courant ... je me rends compte que je les ai eu. Ils sont faciles ( enfin avis personnel ).
    Le troisième, je pense plus à faire du size - 5.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Par défaut Ma solution
    Citation Envoyé par screetch Voir le message
    un exercice qui peut donner des résultats interessants :
    Une solution que j'ai fait, il faut déclarer 2 listes, 6e et 4e, faire avancer liste de 5, faire avancer les 3 listes en même temps jusqu'à la fin, et finalement remplacer le suivant de 6e par 4e :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    liste supprimer5emeFin(liste l) {
      liste sixieme, quartieme;
      sixieme = l;
      quatrieme = l.next.next;
      for(int i(0);i<5;i++) {
        l = l.next;
      }
      while(l.next != null) do {
        sixieme = sixieme.next;
        quatrieme = quatrieme.next;
        l = l.next;
      }
      sixieme.next = quatrieme;
      return sixieme;
    }
    Bon courage is vous avez entretien chez Sogeti High Tech, moi c'est la semaine prochaine

  8. #8
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Oh le déterrage. Mais ça se tient.
    Pour feu random_shuffle, je ne m'étais jamais posé la question de son implémentation.

    Sinon, en ce moment, j'aime beaucoup faire discuter sur le code du premier exo là: https://www.x-formation.com/wp-conte...Developer1.pdf -- mais à réserver à des gens qui affirment un minimum de niveau de connaissance sur le C++ je dirai. C'est plus un sujet de conception en C++, où du recul sur les notions d'invariant et de contrat est nécessaire pour correctement appréhender tous les problèmes avec ce code.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Si t'as moins que 2 éléments, tu crash.
    La solution à ce truc c'est pas juste de prendre le next en incrémentant un compteur et agir quand il atteint 5 ?
    edit: si on peut pas la parcourir à reculons, la parcourir une première fois pour avoir sa taille, puis aller jusque taille-5.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

Discussions similaires

  1. Exercices sur test director
    Par dhakerelabed dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 01/04/2009, 18h20
  2. Bases de Tests/Exercices
    Par JOHN14 dans le forum Access
    Réponses: 3
    Dernier message: 10/12/2007, 10h11
  3. [XMLRAD] test de nullité
    Par Pm dans le forum XMLRAD
    Réponses: 5
    Dernier message: 29/11/2002, 10h57
  4. Pouvez vous m'aider a resoudres ces 3 exercices
    Par algorithmique dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 09/08/2002, 17h26
  5. test collisions
    Par tatakinawa dans le forum OpenGL
    Réponses: 5
    Dernier message: 08/06/2002, 06h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo