Salut à tous,
Je veux réaliser une pile de chaines de caractères, comment faire ?
Autrement dit quelle structure de données dois je utiliser pour implémenter la pile???
Salut à tous,
Je veux réaliser une pile de chaines de caractères, comment faire ?
Autrement dit quelle structure de données dois je utiliser pour implémenter la pile???
Une solution simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 function [str,c] = strpile(str,c,opt) error(nargchk(2,3,nargin)); if nargin == 2 if ~strcmp(c,'get') error('Pb'); end opt = c; end switch opt case 'set' str = [c str]; case 'get' if isempty(str) error('Pb') end c = str(1); str(1) = []; end
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 >> str = strpile([],'a','set') str = a >> str = strpile(str,'b','set') str = ba >> str = strpile(str,'c','set') str = cba >> [str,c] = strpile(str,'get') str = ba c = c >> [str,c] = strpile(str,'get') str = a c = b >>
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Merci pour la réponse, cependant cette pile est une pile de caractères et non une pile de chaines de caractères.
Autrement dit comment créer un tableau de chaines de caractères ?
Bonjour,
En utilisant un tableau de cellules
Un exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 function [str,s] = strpile(str,s,opt) error(nargchk(2,3,nargin)); if nargin == 2 if ~strcmp(s,'get') error('Pb'); end opt = s; end switch opt case 'set' str = cellstr([s str]); case 'get' if isempty(str) error('Pb') end s = str{1}; str(1) = []; end
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 >> str = strpile([],'aaaa','set') str = 'aaaa' >> str = strpile(str,'bb','set') str = 'bb' 'aaaa' >> str = strpile(str,'ccccccccc','set') str = 'ccccccccc' 'bb' 'aaaa' >> [str,s] = strpile(str,'get') str = 'bb' 'aaaa' s = ccccccccc >> [str,s] = strpile(str,'get') str = 'aaaa' s = bb
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Merci pour les réponses c'est ce que je cherche exactement.
J'ai d'autres questions pour finir :
Comment déterminer le type d'un paramètre d'une fonction : s'il est scalaire, vecteur, matrice, chaine de caractères ... ???
Tape la commande suivante dans le Command Window :
Tu auras accès à toutes les fonctions de test utiles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part docsearch is*
Les fonctions SIZE et NUMEL seront également utiles
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager