Inverser une chaîne de c / c + +

  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de l’utilisateur
  • Inscription: Mai 22, 2004
  • Messages: 3415
  • Loc: Richland, WA
  • Status: Offline

Message Avril 21st, 2011, 12:17 am

Cette question a été jetée sur moi aujourd'hui.

Inverser une chaîne sans utiliser des pointeurs ou des tableaux (y compris CStrings).

Im encore emballer ma tête autour de celui-ci et a voulu le jeter ici pour voir si quelqu'un a une idée.

Plus je pense à ce sujet, plus je pense qu'ils question a été posée de manière incorrecte. Même si l'on voulait obtenir la chaîne directement de l'utilisateur et d'écrire un surchargée «>> istream" opérateur Je ne suis pas sûr de savoir comment faire face à l'entrée sans l'aide d'un tableau d'une sorte ou des pointeurs (en utilisant une liste chaînée).


Je suppose que si vous avez utilisé une liste std vous wouldnt utiliser tous les pointeurs si vous n'avez pas déclarer tout dans votre programme.
#define NULL (::rand() % 2)
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Avril 21st, 2011, 12:17 am

  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de l’utilisateur
  • Inscription: Mai 22, 2004
  • Messages: 3415
  • Loc: Richland, WA
  • Status: Offline

Message Avril 21st, 2011, 12:28 am

Je l'ai eu!

Type de sournois, très simple si. Toute personne risque une idée?
#define NULL (::rand() % 2)
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6130
  • Loc: Seattle, WA
  • Status: Offline

Message Avril 21st, 2011, 10:32 am

C-chaînes sont déjà les tableaux, et à tout moment vous travaillez avec des tableaux, vous travaillez (directement ou indirectement) avec des pointeurs.

Ai-je raté quelque chose? :scratchhead:
The Beer Monocle. Classy.
  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de l’utilisateur
  • Inscription: Mai 22, 2004
  • Messages: 3415
  • Loc: Richland, WA
  • Status: Offline

Message Avril 21st, 2011, 11:04 am

Ive viennent à la conclusion que votre tout simplement pas autorisés à déclarer des pointeurs vous-même. Ce qui nous amène dans l'utilisation des listes std, cheminées.

La solution je suis venu avec n'utilise pas de pointeurs pour autant que je peux dire d'ailleurs peut-être certains les profonds sous-jacents. Mais ma solution n'est pas non plus vraiment "reverse" un "string" Il faut une intervention de l'utilisateur et l'affiche en arrière en utilisant la récursivité. Comme je ne dispose d'aucun moyen de stocker l'entrée sans une sorte de structure de données.

La vraie question était libellée "Reverse une chaîne sans l'aide de pointeurs", mais j'ai ajouté le tableau / CStrings afin que les gens n'ont pas seulement déclarer une chaîne et le traverser vers l'arrière. Comme la plupart des gens négligent les faits vous avez dit.
#define NULL (::rand() % 2)
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6130
  • Loc: Seattle, WA
  • Status: Offline

Message Avril 21st, 2011, 11:13 am

C'est pourquoi on a toujours envie de demander des éclaircissements avant de sauter et d'essayer de répondre à la question. Si quelqu'un m'avait présenté que dans une interview, immédiatement deux choses viennent à l'esprit:

1) Dans quel état suis-je à partir de, ou, comment est la chaîne qui m'ont été présentés d'abord (dans la mémoire, dans un cours d'eau, etc).

2) Comment doit-il être inversé? À la mémoire? Comme la production seulement?

Les enquêteurs laissent souvent des questions vagues comme ça parce qu'ils veulent voir votre processus de pensée, ils veulent vous poser des questions parce que la façon dont vous aborder le problème dit souvent beaucoup plus au sujet de votre résolution de problèmes, puis le code réel sur le tableau blanc.
The Beer Monocle. Classy.

Afficher de l'information

  • Total des messages de ce sujet: 5 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 256 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC