besoin d'aide pour un programme

besoin d'aide pour un programme - C - Programmation

Marsh Posté le 22-02-2005 à 10:16:55    

Bonjour à tous ,
Voila cela fait plus de 5 ans que je n'ai pas fait de programmation en C  :heink: , je me retrouve en ce moment avec un devoir a faire ou j'ai quelques problèmes, je vous donne l'ennoncé si quelqu'un peut me fournir quelques explications je serais ravi:
voici l'ennocé
 
Une phrase palindrome est une phrase que l'on peut parcourir, caractère par caractère, de gauche à droite et de droite à gauche en retrouvant exactement la meme sequence de caractères(en faisant abstraction de tout caractère autre qu'une lettre)
 
Le but de cet exercice est de déterminer dans un ensemble de phrase celles qui sont palindromes. pour réaliser cet exercice il faut lire chaque phrase l'une après l'autre, sur ligne de commande et préciser en l'affichant si elle est ou non palindrome.
on suppose qu'on ne connait pas le nombre de phrase à traiter
 
si quelqu'un peut m'aider
merci d'avance   :jap:

Reply

Marsh Posté le 22-02-2005 à 10:16:55   

Reply

Marsh Posté le 22-02-2005 à 10:21:07    

[quote=989547,0,1,238064]<...>je me retrouve en ce moment avec un devoir a faire ou j'ai quelques problèmes, <...>
[/quote]
Fait de ton mieux, poste ton code et on verra ce qu'on peut faire pour toi.


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 22-02-2005 à 10:34:09    

Ben le truc c'est que je suis vraiment nul en C, j'aimerais bien qu'on m'explique rapidement comment faire des pointeurs, parce que je vois bien ce qu'il faut faire dans le programme mais je sais pas utiliser le C

Reply

Marsh Posté le 22-02-2005 à 10:40:00    

[quote=989568,0,3,238064]Ben le truc c'est que je suis vraiment nul en C, j'aimerais bien qu'on m'explique rapidement comment faire des pointeurs, parce que je vois bien ce qu'il faut faire dans le programme mais je sais pas utiliser le C[/quote]
Le C ne s'apprend pas en 5 minutes. Il faut 3 à 12 mois... Il faut t'y mettre d'urgence ou changer d'orientation... Personne ne fera ton travail à ta place. Et ton travail en ce moment consiste à apprendre le langage C.
 
Des références ici:
 
http://mapage.noos.fr/emdel/init_c.htm


Message édité par Emmanuel Delahaye le 22-02-2005 à 10:40:26

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 22-02-2005 à 11:09:59    

[quote=989579,0,4,204912]Le C ne s'apprend pas en 5 minutes. Il faut 3 à 12 mois... Il faut t'y mettre d'urgence ou changer d'orientation... Personne ne fera ton travail à ta place. Et ton travail en ce moment consiste à apprendre le langage C.
 
Des références ici:
 
http://mapage.noos.fr/emdel/init_c.htm[/quote]
 
 
Je te remercie beaucoup pour ton aide,
je sais bien que le language C il faut duu temps pour l'apprendre peut etre que pour toi ta vie ne suffira même pas  :kaola: , mais quand on passe une licence à distance le temp on n'en a pas beaucoup, si je suis venu ici c'est pour demander de l'aide pas pour faire mon boulot
Si tu peux comprendre tant mieu sinon je vois pas pourquoi tu répond à mon topic !!

Reply

Marsh Posté le 22-02-2005 à 11:14:57    

Ici on ne t'aidera que si tu postes déjà quelque chose que TU as fait TOI au préalable.
Donc réfléchis au problème, proposes une solution, même pourrie, et ensuite seulement tu trouveras de l'aide.

Reply

Marsh Posté le 22-02-2005 à 12:53:58    

bon alors voila ce que j'ai réalisé pour l'instant y'a des trous partout :
#include <stdio.h>
 
int phrase, nb_caract;         /*phrase -> phrase entière( prise dans un fichier txt)*/
 
int *E1, *E2;               /* Definition des pointeurs */
 
char phrase;                /*nb_caract -> nombre de caractère dans la phrase*/
 
char nb_caract;           /* E1, E2 pointeur initial et final */
unsigned char E1, E2;
 
main (void)
 
verif while *E1=*E2 goto suite; /* est-ce que les lettres sont identiques*/
goto resultat
suite &E1=&E1+1 , &E2=&E2+1 ;
if &E1=&E2 goto resultat2 ; /*si les pointeurs sont au meme endroit*/
goto verif  
 
resultat printf (" cette phrase n'est pas palindrome" )
resultat2 printf ("cette phrase est palindrome" )


Message édité par heart_ le 22-02-2005 à 12:54:47
Reply

Marsh Posté le 22-02-2005 à 13:28:43    

[merci d'utiliser les balises 'fixed' ou 'cpp' (boutons [Fixe] ou [C/C++])]
[quote=989700,0,7,238064]bon alors voila ce que j'ai réalisé pour l'instant y'a des trous partout :


#include <stdio.h>
 
int phrase, nb_caract;         /*phrase -> phrase entière( prise dans un fichier txt)*/
 
int *E1, *E2;               /* Definition des pointeurs */
 
char phrase;                /*nb_caract -> nombre de caractère dans la phrase*/
 
char nb_caract;           /* E1, E2 pointeur initial et final */
unsigned char E1, E2;
 
main (void)
 
verif while *E1=*E2 goto suite; /* est-ce que les lettres sont identiques*/
goto resultat
suite &E1=&E1+1 , &E2=&E2+1 ;
if &E1=&E2 goto resultat2 ; /*si les pointeurs sont au meme endroit*/
goto verif  
 
resultat printf (" cette phrase n'est pas palindrome" )
resultat2 printf ("cette phrase est palindrome" )


[/quote]
Ok, ça, c'est une sorte de pseudo code... Sache qu'il est préférable d'éviter les sauts dans un algorithme, et qu'il est préférable d'utilliser les actions conditionelles (en plus ça correspond mieux au mode de pensée humain.)
 
avant de te perdre dans les détails d'implémentation, commence par formuler l'algorithme correctement.


- saisir un mot
- verifier si ce mot est un palindrome
- afficher le resultat


Ensuite, si nécessaire, il faut détailler chaque ligne. Je conseille d'écrire une fonction est_palindrome() dont le paramètre d'entrée est le mot à tester, et la sortie (retour) un indicateur 0 ou 1 (1 = palindrome).
 
Ensuite, on peut se concentrer sur la manière de tester le mot (une chaine de caractères) de façon à vérifier la condition de l'énoncé.


Message édité par Emmanuel Delahaye le 22-02-2005 à 13:30:09

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 22-02-2005 à 14:10:47    

tu peux, dans un premier temps, faire une fonction toute bête qui retourne systématiquement 1 (ou 0) juste déjà histoire de me mettre en jambes, voir en gros ce que ça peut déjà donner etc.

Reply

Marsh Posté le 22-02-2005 à 17:23:48    

Bon j'recommence aloors je crée une fonction
bool est_palindrome( char *str)
{
  char *phrase_a_l_envers,*phrase;
  int i,k,j; /*là je definie les pointeurs et les compteurs ??

Reply

Marsh Posté le 22-02-2005 à 17:23:48   

Reply

Marsh Posté le 22-02-2005 à 17:25:52    

1) met ton code entre balises [ cpp] et [ /cpp] (sans les espaces)
2) fais une fonction est_palindrome qui retourne systématiquement vrai (ou true, ou 1 ...)
3) fais un main qui appelle cette fonction et qui traite le résultat
4) attaque la fonction en elle même
:)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed