Inscription / Connexion Nouveau Sujet
Niveau Licence Maths 1e ann
Partager :

Algorithme C++ : Mirroir

Posté par
mankathada
07-03-17 à 22:31

Bonsoir à tous, comment ça va ?

Voilà je suis de nouveau bloqué un algorithme à résoudre, je vous écris l'énoncé :

Ecrire un programme en C++ qui lit un vecteur et qui duplique chaque valeur du vecteur afin d'obtenir un vecteur double constituant le vecteur initial et son mirroir.

Exemple d'application : Si le vecteur lit weshalors, alors le vecteur produit est : weshalorssrolahsew.

Je ne sais pas comment procéder pour cet algo, j'espère que vous pourrez m'aider ou me donner des indications.

Merci pour votre aide.

Posté par
boninmi
re : Algorithme C++ : Mirroir 08-03-17 à 09:56

Bonjour,

- déclarer une variable susceptible de contenir le vecteur (tableau, pointeur, cela dépend des spécifications de l'énoncé)
- déclarer une variable susceptible de contenir deux fois la taille du vecteur de base
- une première boucle parcourt le vecteur "de gauche à droite" et le recopie dans la première moitié de la seconde variable
- une deuxième boucle parcourt le vecteur 'de droite à gauche" et le recopie dans la seconde moitié de la seconde variable

Par exemple, si les variables sont des tableaux, dont la numérotation commence à 0 en C++ sauf erreur de ma part, si la taille du vecteur est N, k un indice,
- une première boucle fait varier k de 0 à N-1 et recopie le vecteur donné V dans le tableau M entre les mêmes indices
- une deuxième boucle fait varier k de 0 à N-1 et recopie le vecteur donné V à l'envers dans le tableau M entre les indices 2N-1 et N .

Posté par
fm_31
re : Algorithme C++ : Mirroir 08-03-17 à 11:06

Bonjour ,

on peut créer la partie inversée puis faire une concaténation avec la chaine initiale .

Cordialement

Algorithme C++ : Mirroir

Posté par
mankathada
re : Algorithme C++ : Mirroir 08-03-17 à 12:32

Bonjour,

Je pense que j'ai compris l'algo

Merci beaucoup

Posté par
fm_31
re : Algorithme C++ : Mirroir 08-03-17 à 14:43

Celui là n'était pas très compliqué . On peut peut-être trouver d'autres approches .
Le mot vecteur m'avait un peu désorienté car j'utilise plus couramment "chaine de caractères" .

Bonne continuation

Posté par
boninmi
re : Algorithme C++ : Mirroir 08-03-17 à 18:50

fm_31 @ 08-03-2017 à 14:43


Le mot vecteur m'avait un peu désorienté car j'utilise plus couramment "chaine de caractères" .

L'algorithme peut se généraliser à d'autres types d'information que les caractères. "txt" sera alors à remplacer par un "vec" qui peut être un tableau ou un pointeur. L'exercice comporte alors une part de la manipulation des types. Mais les principes que j'ai indiqués pour l'algorithme ne changent pas.
En l'occurrence, je viens de vérifier qu'il existe bien un type vecteur ("vector") en C++, qui s'apparente à ce que j'ai appelé "pointeur". C'est sans doute plutôt cette structure sur laquelle porte l'exercice ci-dessus. Voir les détails ici:

Posté par
carpediem
re : Algorithme C++ : Mirroir 08-03-17 à 19:09

salut

une méthode simple (algo)

lire vecteur
d = dim (vecteur)
miroir = 0
for i = 1 to d
  miroir (i) = vecteur (i)
  miroir (2d + 1 - i) = vecteur (i)


Posté par
verdurin
re : Algorithme C++ : Mirroir 08-03-17 à 20:09

Bonsoir.
Juste parce que je suis de mauvaise humeur :
il me semble stupéfiant d'avoir besoin d'aide pour trouver un algorithme aussi évident.

Posté par
alb12
re : Algorithme C++ : Mirroir 08-03-17 à 20:25

mankathada a poste de multiples messages.
il n'a jamais rien propose
il a eu toutes les reponses
bravo !

Posté par
verdurin
re : Algorithme C++ : Mirroir 08-03-17 à 20:33


Salut alb12

alb12 @ 08-03-2017 à 20:25

mankathada a poste de multiples messages.
il n'a jamais rien propose
il a eu toutes les reponses
bravo !

On peut dire qu'il est doué en relations sociales.
En math, c'est moins évident.

Posté par
boninmi
re : Algorithme C++ : Mirroir 08-03-17 à 20:55

Tout dépend de la nature de ses difficultés.
Contrairement à une idée préconçue, on peut être relativement bon en maths, et avoir néanmoins de la difficulté pour écrire des algorithmes.
Si mankathada a besoin d'une aide momentanée pour démarrer, il n'y a aucun problème à ce qu'il la demande. Si par contre il s'agit de sollicitations systématiques pour obtenir des solutions sans effort, alors cela ne servira pas à grand chose, comme je lui ai fait remarquer dans un autre sujet. Et il s'apercevra sans doute assez vite que les contributeurs vont se lasser, sauf que certains ont du mal à résister à montrer que eux, ils savent faire ...
Au passage, j'admire l'algorithme de carpediem, savant mélange franco-britannique

Posté par
alb12
re : Algorithme C++ : Mirroir 08-03-17 à 22:05

il suffisait de lui demander un semblant d'algorithme juste pour le tester.
Au lieu de lui vendre sans barguigner la totalite de la peche.

Posté par
carpediem
re : Algorithme C++ : Mirroir 09-03-17 à 16:01

Citation :
Au passage, j'admire l'algorithme de carpediem, savant mélange franco-britannique
oui en général j'utilise toujours l'anglais plus efficace et concis que le français ... et historiquement culturellement utilisé ... all over the world ...

enfin ici lire compte autant de lettres que read ...

Posté par
mankathada
re : Algorithme C++ : Mirroir 12-03-17 à 13:53

Bonjour,

Tout d'abord, je voudrais vous remercier pour toutes les aides que vous me fournissez.

Apparemment, il y a un malentendu, en aucun cas j'essaie de tirer profit.

A chaque fois que je poste un problème c'est bien évidemment parce que j'ai déjà essayé de le résoudre mais que je n'y arrive pas.

Après ce que je peux faire bien entendu, ce serait de montrer mes traces écrites pour montrer que j'ai cherché.

Désolé si je donne l'impression d'être un profiteur, la prochaine fois je montrerais mes traces écrite.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1741 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !