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

  FORUM HardWare.fr
  Programmation
  C++

  Programme impossible ?

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Programme impossible ?

n°1665384
vyse75
Posté le 03-01-2008 à 18:18:12  profilanswer
 

Voila notre prof de langage C nous a donné un sujet de prog dont il nous a dit que personne dans la classe y arrivera.  Je sais pas pourquoi il me parâit facil mais je n'y arrive pas donc si des personnes pourrait m'aider cela sera vraiment trés gentil.
 
6/ C’est l’espace... ☼☼☼☼☼☼☼
Ecrire le programme permettant de saisir une chaîne de caractère au clavier, d’afficher le
nombre de mots qu’elle contient ainsi que les initiales de ces mots.
On rappelle que deux mots sont séparés par un caractère ²espace²( ‘ ‘ ). On admettra que la
chaîne ne peut commencer ni finir par un caractère ²espace² et que l’on ne peut trouver
plusieurs caractères ²espace² consécutifs.
Exemple:
Si la chaîne de caractère entrée est: la vie est un long fleuve tranquille
Le programme affichera:
la vie est un long fleuve tranquille
Le nombre de mots est: 7
La chaîne contenant les initiales est: lveulft
 
 
merci

mood
Publicité
Posté le 03-01-2008 à 18:18:12  profilanswer
 

n°1665403
vyse75
Posté le 03-01-2008 à 18:36:38  profilanswer
 

c'est du c++ (utilisation de printf, tableau, chaine de caractère,boucle for) et pour toi c'est sur que cela doit etre facile mais pour nous :(

Message cité 1 fois
Message édité par vyse75 le 03-01-2008 à 18:38:14
n°1665408
Profil sup​primé
Posté le 03-01-2008 à 18:38:32  answer
 

Yep, salut, je ne suis qu'un amateur, et de plus je ne connais rien au C++.
Cependant, tu peux prendre le premier caratère comme une initiale, après tu prend la première lettre suivant un espace et tu compte de nombre d'initiale, non ?
 
Ou est le problème ? Qu'as- tu fait ?
 

n°1665416
vyse75
Posté le 03-01-2008 à 18:43:36  profilanswer
 

ben en fait je sais pas comment mettre en langage C ce que tu viens te dire
 
'sp'=0;
 
for (i=0;T[i]!=0;i++)
 
if(T[i]='sp')?
??????
 
 
 
voila aprés c'est le blanc

n°1665417
Profil sup​primé
Posté le 03-01-2008 à 18:48:25  answer
 

vyse75 a écrit :

ben en fait je sais pas comment mettre en langage C ce que tu viens te dire
 
'sp'=0;
 
for (i=0;T[i]!=0;i++)
 
if(T[i]='sp')?
??????
 
 
 
voila aprés c'est le blanc


 
si T est la chaîne saisie, ta boucle ne doit s'arrête qu'à la fin du tableau T. Déjà
 
Donc ?

n°1665421
Profil sup​primé
Posté le 03-01-2008 à 18:53:40  answer
 

En espérant ne pas dire de bêtise, si non, je vais me faire crier  :whistle:  
 
Si non, t'es en quelle classe ?
 
Et puis, il y à une section aide au devoir, le topic est mal placé  :ange:

n°1665425
gilou
Modérateur
Modzilla
Posté le 03-01-2008 à 19:05:48  profilanswer
 

vyse75, vas lire la doc de la fonction strtok, c'est un strtok(ta chaine, " " ) qui devrait fortement servir pour resoudre ton pb...
A+,


Message édité par gilou le 03-01-2008 à 19:06:26

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1665443
Profil sup​primé
Posté le 03-01-2008 à 19:32:01  answer
 

Code :
  1. /* Programme impossible */
  2.  
  3. #include <stdio.h>
  4.  
  5. #include <stdlib.h>
  6.  
  7. void main (void)
  8. {
  9.  int Index;
  10.  char T[256];
  11.  int Nombre_de_mots = 1;
  12.  printf("Entrez une chaine : \n" );
  13.  fgets(T, sizeof T, stdin);
  14.  printf("%c", T[0]);
  15.  for (Index=1; T[Index] != '\n'; Index++)
  16.    if (T[Index] == ' ')
  17.      {
  18.        printf("%c", T[Index+1]);
  19.        ++Nombre_de_mots;
  20.      }
  21.  printf("%d \n", Nombre_de_mots);
  22.  exit(0);
  23. }

n°1665456
Ace17
Posté le 03-01-2008 à 20:07:31  profilanswer
 


 
Super. Et si j'entre une chaine vide?

n°1665457
Profil sup​primé
Posté le 03-01-2008 à 20:08:16  answer
 

Ace17 a écrit :


 
Super. Et si j'entre une chaine vide?


 
C'est pas spécifié  :whistle:

mood
Publicité
Posté le 03-01-2008 à 20:08:16  profilanswer
 

n°1665501
Joel F
Real men use unique_ptr
Posté le 03-01-2008 à 22:12:22  profilanswer
 

jovalise t'avais le droit de t'abstenir :o

 

et strtok c'est pas pr les chiens


Message édité par Joel F le 03-01-2008 à 22:12:50
n°1665535
Elmoricq
Modérateur
Posté le 03-01-2008 à 23:18:52  profilanswer
 


 
Si c'est pour nous pondre des infâmités pareilles, tu avais le droit de t'abstenir. [:prozac]

n°1665539
Profil sup​primé
Posté le 03-01-2008 à 23:24:08  answer
 

Si vous aviez  donné la soluce, le prof aurait détecté le ponpage et ça aurait valu un zéro.
Là ça passe pour de la débrouille au pire  :sol:

n°1665540
Elmoricq
Modérateur
Posté le 03-01-2008 à 23:26:21  profilanswer
 


J'ai comme un doute.  [:robert de niro]

n°1665813
capitainei​gloo
Posté le 04-01-2008 à 13:54:13  profilanswer
 

Elmoricq a écrit :


 
Si c'est pour nous pondre des infâmités pareilles, tu avais le droit de t'abstenir. [:prozac]


 
c'est clair. Un type normal aurait ecrit "veuillez saisir une phrase" et non "Entrez une chaine"

n°1666127
vyse75
Posté le 04-01-2008 à 21:41:49  profilanswer
 

thx tout le monde j'y suis arrivai lol :) suffisait de réflechir :honte:  
 


#include <stdio.h>
#include <stdlib.h>
 
 int main (void)
 {
 int i;
 char T[51];
 int N=1;
 
printf("Entrez une chaine : " );
 
fgets(T, 51, stdin);
 
printf("%c", T[0]);
 
for (i=0; T[i]!=0; i++)
 {
 if (T[i]==' ')
 {  N=N+1;
    printf("%c", T[i+1]);
             }
}
 
printf("\nnombre de mots %d : ", N);
 
system("pause" );
return 0;
      }


n°1666311
Ace17
Posté le 05-01-2008 à 09:50:23  profilanswer
 

vyse75 a écrit :

thx tout le monde j'y suis arrivai lol :) suffisait de réflechir :honte:  
 


#include <stdio.h>
#include <stdlib.h>
 
 int main (void)
 {
 int i;
 char T[51];
 int N=1;
 
printf("Entrez une chaine : " );
 
fgets(T, 51, stdin);
 
printf("%c", T[0]);
 
for (i=0; T[i]!=0; i++)
 {
 if (T[i]==' ')
 {  N=N+1;
    printf("%c", T[i+1]);
             }
}
 
printf("\nnombre de mots %d : ", N);
 
system("pause" );
return 0;
      }




 
Super. Et si j'entre une chaine vide?

n°1666313
Dion
Acceuil
Posté le 05-01-2008 à 10:05:41  profilanswer
 

Ace17 a écrit :


 
Super. Et si j'entre une chaine vide?


 
Le but c'est d'induire en erreur les petits cons qui recopient du code sans comprendre et parle ensuite de leur pretendue reflexion, pas de faire un truc qui marche...


---------------
When it comes to business/legal topics, just assume almost everyone commenting has no idea what they’re taking about and have no background in these subjects because that’s how it really is. Harkonnen 8-> Elmoricq 8====>
n°1666354
bapho13
Usager usant
Posté le 05-01-2008 à 12:28:50  profilanswer
 

capitaineigloo a écrit :


 
c'est clair. Un type normal aurait ecrit "veuillez saisir une phrase" et non "Entrez une chaine"


 
 [:icez]  
 

vyse75 a écrit :

thx tout le monde j'y suis arrivai lol :) suffisait de réflechir :honte:  


 
Ce que tu as manifestement oublié de faire, en repompant le code de jovalise.  
Le pire c'est que je ne suis pas persuadé que tes profs se rendront compte de sa mauvaise qualité  [:mareek]


Message édité par bapho13 le 05-01-2008 à 12:29:08
n°1666387
weblook$$
Posté le 05-01-2008 à 14:17:22  profilanswer
 

y s'en branle l'important c d'avoir le diplome

n°1666402
bapho13
Usager usant
Posté le 05-01-2008 à 14:50:37  profilanswer
 

weblook$$ a écrit :

y s'en branle l'important c d'avoir le diplome


 
Bravo champion !  [:hahaguy]

n°1666405
weblook$$
Posté le 05-01-2008 à 14:55:08  profilanswer
 

;)

n°1671743
juloss4
Posté le 15-01-2008 à 19:36:22  profilanswer
 

Salut, j'ai trouver une solution a ton probleme. c'est en c++ mais c'est facile a traduire :-°
[cpp]
#include <conio.h>
#include <iostream>
#include <cstdio>
 
using namespace std;
 
int main(int argc, char *argv[])
{
 int a=0,i=1,mot=1,intermed=0;
 int lol;
 char buffer;
 bool espace=true;
 char tableau[10000];
 char coucou[5000];
 
    while (lol != 46)
    {
    buffer=getch();
   
       if(  buffer==8 && i>1 && tableau[i-2]==' ')
       {
       mot--;
       espace=true;
       a--;
       coucou[a]=' ';
       i--;
       }  
       else if ( buffer==8 && i>1)
       {i--;
       tableau[i]=' ';
       }    
       else if (  buffer==32 && i !=1 && !espace)
       {
       tableau[i]=buffer;
       mot++;
       espace=true;
       i++;
       
       }
       else if (espace)
       {
       espace =false;
       tableau[i]=buffer;
       coucou[a]=buffer;
       i++;
       a++;
       }
       else if (buffer !=' ')
       { tableau[i]=buffer;i++;}
       
    system("cls" );
     
    while ( intermed !=i+1)
    {cout <<tableau[intermed];
    intermed++;
    }  
 intermed=0;    
 lol=buffer;    
}
 cout <<endl;
cout <<mot<<" mots"<<endl;
cout <<"initiales des mots : ";
intermed=0;
 
while (intermed!=a)
{ cout <<coucou[intermed]<<" ";
intermed++;
}
 
 
   
   
   
     
   
   
    cout<<endl;
    system("PAUSE" );
    return EXIT_SUCCESS;
}
[cpp/]

n°1671788
Joel F
Real men use unique_ptr
Posté le 15-01-2008 à 21:28:00  profilanswer
 

ca va alller les codes nuls et moches là hein :o

n°1672157
juloss4
Posté le 16-01-2008 à 13:30:23  profilanswer
 

il est peut etre nul et moche mais il marche...

n°1672169
Joel F
Real men use unique_ptr
Posté le 16-01-2008 à 13:50:11  profilanswer
 

juloss4 a écrit :

il est peut etre nul et moche mais il marche...


 
Belle philosophie ...  :sleep:

n°1672441
Elmoricq
Modérateur
Posté le 16-01-2008 à 18:17:12  profilanswer
 

juloss4 a écrit :

il est peut etre nul et moche mais il marche...


 
Non, un code "qui marche", ça ne suffit pas. Tu apprendras quand tu seras grand qu'un code maintenable, et donc lisible et bien écrit, est tout aussi important que la fonction que le code remplit.

n°1672464
Ace17
Posté le 16-01-2008 à 19:11:20  profilanswer
 

juloss4 a écrit :

il est peut etre nul et moche mais il marche...

Les gens qui utilisent cet argument meritent la pelle a clous  :fou:  

n°1672674
ptitchep
Posté le 17-01-2008 à 12:07:02  profilanswer
 

Code :
  1. #include <iostream>
  2. #include <vector>
  3. #include "stdio.h"
  4. int main()
  5. {
  6.         std::vector<char> chaine;
  7.         chaine.push_back('c');chaine.push_back('o');chaine.push_back('d');
  8.         chaine.push_back('e');chaine.push_back(' ');
  9.         chaine.push_back('p');chaine.push_back('o');chaine.push_back('u');
  10.         chaine.push_back('r');chaine.push_back('r');
  11.         chaine.push_back('i');chaine.push_back(' ');
  12.         chaine.push_back('m');chaine.push_back('a');chaine.push_back('i');
  13.         chaine.push_back('s');chaine.push_back(' ');
  14.         chaine.push_back('q');chaine.push_back('u');chaine.push_back('i');
  15.         chaine.push_back(' ');
  16.         chaine.push_back('m');chaine.push_back('a');chaine.push_back('r');
  17.         chaine.push_back('c');chaine.push_back('h');
  18.         chaine.push_back('e');
  19.         for(int i=0;i<chaine.size();i++)
  20.                 printf("%c",chaine[i]);
  21.         std::cout<<std::endl;
  22.         return 0;
  23. }


 
moi j'aime la pelle a clous [:adrien monk]


---------------
deluser --remove-home ptitchep
n°1672685
MagicBuzz
Posté le 17-01-2008 à 12:33:48  profilanswer
 

J'ai envie de me faire taper mais de toute façon y'a pire dans ce topic alors :o
 
Au moins je crois qu'il prends en compte tous les cas possibles, et ne fait pas de tests supperflus :sol:
 
Ouais, Joel, je sais, strtok c'est plus mieux mais j'ai pas envie c'est trop facile :o

Code :
  1. // Gruik.cpp : Defines the entry point for the console application.
  2.  
  3. #include "stdafx.h"
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6.  
  7. int _tmain(int argc, _TCHAR* argv[])
  8. {
  9.     // Variable declarations
  10.     char str[80];
  11.     int nbWords = 0;
  12.     int cursor = 0;
  13.     bool displayChar = true;
  14.  
  15.     printf("Gruik ?\n" );
  16.     fgets(str, sizeof str, stdin);
  17.  
  18.     printf("Grmpf : %s\n", str);
  19.  
  20.     while(str[cursor] != '\n')
  21.     {
  22.         if (displayChar && str[cursor] != ' ')
  23.         {
  24.             printf("%c", str[cursor]);
  25.             ++nbWords;
  26.         }
  27.         displayChar = (str[cursor++] == ' ');
  28.     }
  29.     printf("\nGrunt %d\n", nbWords);
  30.  
  31.     //fgets(str, sizeof str, stdin);
  32. }


Message édité par MagicBuzz le 17-01-2008 à 12:41:38
n°1672708
Elmoricq
Modérateur
Posté le 17-01-2008 à 13:25:36  profilanswer
 

ptitchep > 1e degré == [:florentg]. 2e degré == [:rofl]
 
MagicBuzz > j'vais t'aider : on est dans la cat' C++, pas dans la cat' C [:el g]


Message édité par Elmoricq le 17-01-2008 à 13:26:28
n°1672731
MagicBuzz
Posté le 17-01-2008 à 13:55:34  profilanswer
 

M'en fout, le gars parle d'un prof de C :o
 
Et NazzTazz a déduit de l'explication de l'auteur qu'il demandait effectivement un prog en C (non mais :o)
 
PS : Et je me souviens plus... Y'a un type "bool" en C ? Je croyais que non :??:


Message édité par MagicBuzz le 17-01-2008 à 13:58:04
n°1672768
Joel F
Real men use unique_ptr
Posté le 17-01-2008 à 14:42:16  profilanswer
 

en C99 oui :o

n°1672935
ptitchep
Posté le 17-01-2008 à 18:43:57  profilanswer
 


 
Oui j'ai eu du mal à le trouver  ;) c'est plus dur qu'on croit de faire un code sur-pourri.


---------------
deluser --remove-home ptitchep
n°1672944
Ace17
Posté le 17-01-2008 à 19:11:59  profilanswer
 

ptitchep a écrit :


 
Oui j'ai eu du mal à le trouver  ;) c'est plus dur qu'on croit de faire un code sur-pourri.


C'est ca, faites un concours tant que vous y etes!  :D

n°1672949
Dion
Acceuil
Posté le 17-01-2008 à 19:20:11  profilanswer
 


 
Vu dans du code de prod  :sol:


---------------
When it comes to business/legal topics, just assume almost everyone commenting has no idea what they’re taking about and have no background in these subjects because that’s how it really is. Harkonnen 8-> Elmoricq 8====>
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Programme impossible ?

 

Sujets relatifs
programme en qbasic permet d'inverser une mot[Spry & XML]Impossible d'afficher des images dans mon tableau
[debutant] Programme perso de mastermind, qu'en pensez-vous?problème programme Tableau
std::bad_alloc, impossible de savoir d'où il vient.Cherche qq'un qui voudrais réécrire mon programme JAVA (ou en Windev)
erreur frm-30085 impossible de moduler l'application forms en vu de sa[Impossible]Recupération programme par .exe
impossible d'éxécuter un programme en java !!!Programme sans main + impossible à compiler
Plus de sujets relatifs à : Programme impossible ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR