Codage algorithme C++
Fermé
fvh
Messages postés
17
Date d'inscription
vendredi 31 janvier 2014
Statut
Membre
Dernière intervention
22 novembre 2020
-
15 févr. 2014 à 14:26
akaren Messages postés 7 Date d'inscription lundi 17 février 2014 Statut Membre Dernière intervention 19 février 2014 - 19 févr. 2014 à 11:29
akaren Messages postés 7 Date d'inscription lundi 17 février 2014 Statut Membre Dernière intervention 19 février 2014 - 19 févr. 2014 à 11:29
A voir également:
- Codage algorithme C++
- Codage ascii - Guide
- Codage binaire - Guide
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Pour enregistrer ce texte au format txt sans perdre d’informations, quel codage utiliser ? gaël écrit α et β à l’aide de son crayon à 2 €. ✓ - Forum Word
3 réponses
akaren
Messages postés
7
Date d'inscription
lundi 17 février 2014
Statut
Membre
Dernière intervention
19 février 2014
2
17 févr. 2014 à 23:36
17 févr. 2014 à 23:36
Je sais pas ce que tu veux faire exactement, ni dans quel format, mais dans l'idée j'aurais fait un truc comme ça (attention, je ne l'ai pas testé mais c'est pour montrer le principe)
J'espère bien avoir compris ta question.
char* ligne_suivante(char* ligne_precedente) { int n = 0; char c = *ligne_precedente; char* res; while (*ligne_precedente != NULL) { // On compte le nombre de fois que ce chiffre se répète while (*ligne_precedente == c) { n++; ligne_precedente++; } // On a fini avec les répétitions de ce caractère, on passe au suivant c = *ligne_precedente; // On convertit l'entier en caractère ASCII et on ajoute ça au résultat *res = n + '0'; res ++; *res = c; res++; } *res = '\0'; return res; }
J'espère bien avoir compris ta question.
fvh
Messages postés
17
Date d'inscription
vendredi 31 janvier 2014
Statut
Membre
Dernière intervention
22 novembre 2020
18 févr. 2014 à 13:02
18 févr. 2014 à 13:02
En fait quand je fais
cin>> i par exemple i = au chiffre 1,
j'ai le suite suivant qui s'affiche :
1 1 et qui lit la ligne d'avant c'est a dire une fois le chiffre un
puis la ligne suivant 2 1 ( 2 fois le chiffre 1 à la ligne précédente) et ainsi de suite,
j'essaie de coder :
#include <iostream>;
using namespace std;
int main() {
int imax=0,i, n;
cin >> n;
for (i=1, i<=n; i++) { //boucle incrémentation
if( V[i] == V[i-1]) { // comparaison des deux, incrémentation
t=i; // stockage de la variable i
imax=i;
cout << imax;
cout << t << endl;
}
else {
cout << i;
cout<< V[???]<<endl; //insertion chiffre de la ligne précédente à la ligne suivante
}
return 0;
}
cin>> i par exemple i = au chiffre 1,
j'ai le suite suivant qui s'affiche :
1 1 et qui lit la ligne d'avant c'est a dire une fois le chiffre un
puis la ligne suivant 2 1 ( 2 fois le chiffre 1 à la ligne précédente) et ainsi de suite,
j'essaie de coder :
#include <iostream>;
using namespace std;
int main() {
int imax=0,i, n;
cin >> n;
for (i=1, i<=n; i++) { //boucle incrémentation
if( V[i] == V[i-1]) { // comparaison des deux, incrémentation
t=i; // stockage de la variable i
imax=i;
cout << imax;
cout << t << endl;
}
else {
cout << i;
cout<< V[???]<<endl; //insertion chiffre de la ligne précédente à la ligne suivante
}
return 0;
}
sambia39
Messages postés
610
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
9 février 2023
49
18 févr. 2014 à 14:58
18 févr. 2014 à 14:58
Bonjour
indente et mes ton code dans les balises qui sont mises à ta disposition et essaye de nous expliquer brièvement quel est le but de ton programme, puis tu pourras mettre un algorithme qui s'apparente à ton programme, car franchement moi je n'ai rien compris
indente et mes ton code dans les balises qui sont mises à ta disposition et essaye de nous expliquer brièvement quel est le but de ton programme, puis tu pourras mettre un algorithme qui s'apparente à ton programme, car franchement moi je n'ai rien compris
akaren
Messages postés
7
Date d'inscription
lundi 17 février 2014
Statut
Membre
Dernière intervention
19 février 2014
2
18 févr. 2014 à 15:05
18 févr. 2014 à 15:05
Je comprends pas ta structure de données. Je crois avoir compris l'algo que tu cherches à implémenter*, mais pour répondre à ta question il va falloir que tu sois plus précis sur ce que tu cherches à faire avec ça exactement: l'afficher, le stocker, si oui, où, autre chose...?
*Pour vérifier que j'ai bien compris l'algo:
- Tu initialises ta ligne courante avec un entier i
- Tu crées la ligne suivante en "lisant" cette ligne, c'est à dire compter le nombre d'entiers consécutifs puis l'afficher sous forme numérique (par exemple 1 1 1 = trois un = 3 1)
- Cette ligne devient ta ligne courante
- Et tu itères ça n fois
*Pour vérifier que j'ai bien compris l'algo:
- Tu initialises ta ligne courante avec un entier i
- Tu crées la ligne suivante en "lisant" cette ligne, c'est à dire compter le nombre d'entiers consécutifs puis l'afficher sous forme numérique (par exemple 1 1 1 = trois un = 3 1)
- Cette ligne devient ta ligne courante
- Et tu itères ça n fois
sambia39
Messages postés
610
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
9 février 2023
49
18 févr. 2014 à 15:34
18 févr. 2014 à 15:34
alors, si toi tu as compris explique nous en quoi consiste son programme sans donner d'algorithmes, justes en quoi ça consiste ,que doit faire son programme et après en pourras l'aider à trouver un bon algorithme qu'il pourra l'implémenter.
Et dites-moi si la ligne suivante devient la ligne courante, et que au préalable j'ai déja ma séquence (3 1) , alors je vais réitérer l'opération sur quelle ligne la suivante ou celle qui était suivante et qui est passe courante ? %-) (tordut tout ça) , sachant que la précédente est la courante ?, mise à part si tu compte faire de la ligne suivante la ligne actuelle et comme résultat tu as 3 1 et par la suite tu rétiaire l'opération sur ta ligne suivante, qui est pas la ligne précédente, alors d'accord
mais ça reste flou pour moi, fait juste un résumé que doit faire sont programme :D
Et dites-moi si la ligne suivante devient la ligne courante, et que au préalable j'ai déja ma séquence (3 1) , alors je vais réitérer l'opération sur quelle ligne la suivante ou celle qui était suivante et qui est passe courante ? %-) (tordut tout ça) , sachant que la précédente est la courante ?, mise à part si tu compte faire de la ligne suivante la ligne actuelle et comme résultat tu as 3 1 et par la suite tu rétiaire l'opération sur ta ligne suivante, qui est pas la ligne précédente, alors d'accord
mais ça reste flou pour moi, fait juste un résumé que doit faire sont programme :D
akaren
Messages postés
7
Date d'inscription
lundi 17 février 2014
Statut
Membre
Dernière intervention
19 février 2014
2
19 févr. 2014 à 11:29
19 févr. 2014 à 11:29
Son programme a pas vraiment de but, c'est juste une fonctionnalité qu'il doit implémenter. Donc c'est difficile à décrire autrement que par l'algo justement =') Si tu veux une autre manière de décrire son but, regarde la description faite par Char Snipeur
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
18 févr. 2014 à 16:45
18 févr. 2014 à 16:45
Le but, c'est de faire une suite numérique logique.
On commence par un nombre.
Ensuite, au bout d'un certain nombre d'itérations, on se retrouve avec une suite de numéro quelconque.
Pour passer à la ligne suivante, on prend la ligne et on regarde le premier nombre. Si le suivant est identique on incrémente le compteur, s'il est différent on affiche le compteur suivie du nombre que l'on vient de compter.
Puis on prend le nombre suivant. etc.
Voilà, ce n'est que du pseduo code, il reste pas mal de chose à voir, mais c'est plus ou moins le coeur de l'algo.
On commence par un nombre.
Ensuite, au bout d'un certain nombre d'itérations, on se retrouve avec une suite de numéro quelconque.
Pour passer à la ligne suivante, on prend la ligne et on regarde le premier nombre. Si le suivant est identique on incrémente le compteur, s'il est différent on affiche le compteur suivie du nombre que l'on vient de compter.
Puis on prend le nombre suivant. etc.
int pattern=list[0]; int compteur=1; for (n=1;n<list.size();++n) { if(list[n]==pattern) { compteur++; continue; } else { std::cout<<comteur<<pattern; compteur=1; pattern = list[n]; } } std::cout<<compteur<<pattern;
Voilà, ce n'est que du pseduo code, il reste pas mal de chose à voir, mais c'est plus ou moins le coeur de l'algo.
18 févr. 2014 à 00:42
18 févr. 2014 à 13:02
18 févr. 2014 à 14:49