Programme impossible ? - C++ - Programmation
Marsh Posté le 03-01-2008 à 18:36:38
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
Marsh Posté le 03-01-2008 à 18:38:32
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 ?
Marsh Posté le 03-01-2008 à 18:43:36
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
Marsh Posté le 03-01-2008 à 18:48:25
vyse75 a écrit : ben en fait je sais pas comment mettre en langage C ce que tu viens te dire |
si T est la chaîne saisie, ta boucle ne doit s'arrête qu'à la fin du tableau T. Déjà
Donc ?
Marsh Posté le 03-01-2008 à 18:53:40
En espérant ne pas dire de bêtise, si non, je vais me faire crier
Si non, t'es en quelle classe ?
Et puis, il y à une section aide au devoir, le topic est mal placé
Marsh Posté le 03-01-2008 à 19:05:48
vyse75, vas lire la doc de la fonction strtok, c'est un strtok(ta chaine, " " ) qui devrait fortement servir pour resoudre ton pb...
A+,
Marsh Posté le 03-01-2008 à 19:32:01
Code :
|
Marsh Posté le 03-01-2008 à 20:07:31
ReplyMarsh Posté le 03-01-2008 à 20:08:16
ReplyMarsh Posté le 03-01-2008 à 22:12:22
jovalise t'avais le droit de t'abstenir
et strtok c'est pas pr les chiens
Marsh Posté le 03-01-2008 à 23:18:52
Si c'est pour nous pondre des infâmités pareilles, tu avais le droit de t'abstenir.
Marsh Posté le 03-01-2008 à 23:24:08
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
Marsh Posté le 04-01-2008 à 13:54:13
Elmoricq a écrit : |
c'est clair. Un type normal aurait ecrit "veuillez saisir une phrase" et non "Entrez une chaine"
Marsh Posté le 04-01-2008 à 21:41:49
thx tout le monde j'y suis arrivai lol suffisait de réflechir
|
Marsh Posté le 05-01-2008 à 09:50:23
vyse75 a écrit : thx tout le monde j'y suis arrivai lol suffisait de réflechir
|
Super. Et si j'entre une chaine vide?
Marsh Posté le 05-01-2008 à 10:05:41
Ace17 a écrit : |
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...
Marsh Posté le 05-01-2008 à 12:28:50
capitaineigloo a écrit : |
vyse75 a écrit : thx tout le monde j'y suis arrivai lol suffisait de réflechir |
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é
Marsh Posté le 05-01-2008 à 14:17:22
ReplyMarsh Posté le 05-01-2008 à 14:50:37
ReplyMarsh Posté le 15-01-2008 à 19:36:22
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/]
Marsh Posté le 16-01-2008 à 13:30:23
ReplyMarsh Posté le 16-01-2008 à 13:50:11
ReplyMarsh Posté le 16-01-2008 à 18:17:12
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.
Marsh Posté le 16-01-2008 à 19:11:20
juloss4 a écrit : il est peut etre nul et moche mais il marche... |
Les gens qui utilisent cet argument meritent la pelle a clous
Marsh Posté le 17-01-2008 à 12:07:02
Code :
|
moi j'aime la pelle a clous
Marsh Posté le 17-01-2008 à 12:33:48
J'ai envie de me faire taper mais de toute façon y'a pire dans ce topic alors
Au moins je crois qu'il prends en compte tous les cas possibles, et ne fait pas de tests supperflus
Ouais, Joel, je sais, strtok c'est plus mieux mais j'ai pas envie c'est trop facile
Code :
|
Marsh Posté le 17-01-2008 à 13:25:36
ptitchep > 1e degré == . 2e degré ==
MagicBuzz > j'vais t'aider : on est dans la cat' C++, pas dans la cat' C
Marsh Posté le 17-01-2008 à 13:55:34
M'en fout, le gars parle d'un prof de C
Et NazzTazz a déduit de l'explication de l'auteur qu'il demandait effectivement un prog en C (non mais )
PS : Et je me souviens plus... Y'a un type "bool" en C ? Je croyais que non
Marsh Posté le 17-01-2008 à 18:43:57
Oui j'ai eu du mal à le trouver c'est plus dur qu'on croit de faire un code sur-pourri.
Marsh Posté le 17-01-2008 à 19:11:59
ptitchep a écrit : |
C'est ca, faites un concours tant que vous y etes!
Marsh Posté le 17-01-2008 à 19:20:11
Vu dans du code de prod
Marsh Posté le 03-01-2008 à 18:18:12
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