Aide sous language C

Tout sur les langages de programmation.

Aide sous language C

Messagepar drackov » 16 Avril 2007, 20:38

Salut tous le monde.
Je veux savoir comment créer un tableau miroire sous C,je m'explique:
On a un tableau comme 1 2 3 4 5 et on veut le transformer en 5 4 3 2 1.

Svp, si quelq'un connais la reponse qu'il me l'explique.

Merci d'avance.@+
<< We Are The Children Of The UnderGround >>
drackov
Apprenti
Apprenti
 
Messages: 57
Inscription: 11 Juin 2006, 22:16

Messagepar Silkut » 16 Avril 2007, 20:44

Algo simple de rotation ? Tu stockes le contenu de la case i dans une variable tampon, tu décales le contenu de la case i+1 dans i puis tu incrémentes i etc..jusqu'à satisfaction puis tu fous ce qui est en tampon dans la dernière case..
Silkut
 

Messagepar drackov » 16 Avril 2007, 20:55

salut Silkut
Merci pour ta reponse mais :oops: :oops: j'ai pas bien compris.
si tu parle des pointeurs dsl car je les ai pas encore etudier.
merci encore.

Posté après 1 minute 52 secondes:

et est ce qu'il est valable pour un tableau genre 9 5 2 0 1 ??
<< We Are The Children Of The UnderGround >>
drackov
Apprenti
Apprenti
 
Messages: 57
Inscription: 11 Juin 2006, 22:16

Messagepar Beginner » 16 Avril 2007, 21:00

Si c'est un tableau T à n éléments tu fais (pseudo-code)
Code: Tout sélectionner
Pour i de 1 à int(n/2) faire
 | tmp <- T(i)
 | T(i) <- T(n-i)
 | T(n-1) <- tmp
 +--


Posté après 2 minutes 11 secondes:

et si c'est une liste tu fait un truc du genre :
Code: Tout sélectionner
mirroir(liste)=
 | si (liste = liste_vide) retourner liste_vide
 | sinon retourner (mirroir(liste.queue))#(liste.tete)
 +--
Image
Avatar de l’utilisateur
Beginner
Serials Killer
Serials Killer
 
Messages: 485
Inscription: 24 Août 2005, 20:25

Messagepar drackov » 16 Avril 2007, 21:15

#include <stdio.h>
#define n 5



main ()
{
int t[n],i,tmp;

for(i=0;i<n;i++)
scanf("%d",&t[i]);

for(i=0;i<(n/2);i++)
{
tmp=t[i];
t[i]=t[n-i];
t[n-1]=tmp;
}

for(i=0;i<n;i++)
printf("%d",t[i]);
return 0;
}

:cry: :cry: nn ne marche pas!!!
<< We Are The Children Of The UnderGround >>
drackov
Apprenti
Apprenti
 
Messages: 57
Inscription: 11 Juin 2006, 22:16

Messagepar Beginner » 16 Avril 2007, 21:22

ton tableau va de 0 à n-1, fais les modifs... :?
remplace t[n-i] par t[n-1-i] et i<(int)(n/2) par i<(int)(n/2)+1
ou quelque chose approchant...

tu devrais réfléchir un peu avec papier/crayon, ça marche il parrait...
Image
Avatar de l’utilisateur
Beginner
Serials Killer
Serials Killer
 
Messages: 485
Inscription: 24 Août 2005, 20:25

Messagepar drackov » 16 Avril 2007, 21:55

Merci beaucoup les mecs.
ca marché mais avec i<(int)(n/2) :) :)
Merci@+
<< We Are The Children Of The UnderGround >>
drackov
Apprenti
Apprenti
 
Messages: 57
Inscription: 11 Juin 2006, 22:16


Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités