begin process at 2012 05 28 23:35:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Creation d'un tableau en C par rotation A l'aide !!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Creation d'un tableau en C par rotation A l'aide !!

mercredi 12 mai 2004 à 15:44:46 | Creation d'un tableau en C par rotation A l'aide !!

babounlehobbit

Voila: je voudrai creer un tableau du genre:
abcdefgh...xyz
bcdefghi...xyza
cdefghij...xyzab
... et ainsi de suite
Le tout sans avoir a ecrire chaque ligne a la main.
Comment faire pour enlever a chaque fois un charactere au debut, puis le rajouter a la fin de la chaine ?
Merci d'avance !

Cyril (babounlehobbit@hotmail.com)
mercredi 12 mai 2004 à 16:31:12 | Re : Creation d'un tableau en C par rotation A l'aide !!

neohp

'lut

hey, c'est de l'algo , sa.....

bon , on va pas tout te faire, c'est juste qu'ils faut apprendre a trouver ce genre de solution tout seul

indice(s) : les caractères ont un code ascii ...( majuscule de 45 a 90, minuscule 97 a 122 )

donc sa ressemble a une boucle qui va de a à z avec une condition a un endroit ou a un autre...

voila, avec sa tu devrai trouver rapidement


++

neoh_p [=- coding spirit -=]
------- since 1999 ------
mercredi 12 mai 2004 à 17:02:01 | Re : Creation d'un tableau en C par rotation A l'aide !!

ensiame

En théorie, c'est juste une boucle qui recopie ta chaine sur les éléments du tableau, et une autre qui copie chaque élément de la chaine à la place de celui juste avant, et qui ramène le premier à la fin


#include <malloc.h>
#include <string.h>
int main()
{
char alphabet[27] = "abcdefghijklmnopqrstuvwxyz"; // La chaîne de base
char* pcAlpha; // Servira à parcourir la chaîne
int i , j;
char c;

const int iLaTailleDeMonTableau = 26;
char* pszMonTableau[iLaTailleDeMonTableau];

for (i = 0 ; i < iLaTailleDeMonTableau ; ++i)
{
// On alloue la taille de la chaîne dans un élément du tableau
pszMonTableau[i] = (char*) malloc(27 * sizeof(char));
// On copie la chaîne de la case précédente du tableau dans la case en cours
// (ou la chaîne de base si l'on est dans la première case)
strcpy(pszMonTableau[i] , (i == 0 ? alphabet : pszMonTableau[i - 1]));
if (i == 0) //Si c'est la première case
continue; // On ne modifie pas la chaîne de base

pcAlpha = pszMonTableau[i]; // On pointe sur la chaîne en cours
c = *pcAlpha; // On sauvegarde le premier caractère
for (j = 0 ; j < 25 ; ++j)
{
*pcAlpha = *(pcAlpha + 1); // On recopie à l'emplacement de chaque lettre, la lettre située juste après
pcAlpha++; // Et on avance
}
*pcAlpha = c; // La première lettre passe à la fin
}

// Et voilà

//...

//une fois le tableau rendu obsolète (fin du programme ou fin de nécessité d'utilisation) , on restaure la mémoire allouée
for (i = 0 ; i < iLaTailleDeMonTableau ; ++i)
free(pszMonTableau[i]);

return 0;
}
mercredi 12 mai 2004 à 17:19:49 | Re : Creation d'un tableau en C par rotation A l'aide !!

c2millet

pour réaliser un décalage sur une chaine:

sprintf(chaine,"%s%c",&chaine[1],chaine[0]);

c tout simple ;-)

Cmill
mercredi 12 mai 2004 à 18:40:38 | Re : Creation d'un tableau en C par rotation A l'aide !!

ymca2003

pour décaler une zone mémoire (un tableau par ex) : memmove

ex :
int tab[26];
int tmp = tab[0];
memmove(&tab[0], &tab[1], 26*sizeof(int));
tab[25]=tmp;

NB : memmove vérifie si la source et la destination se chevauche pour effectuer l'opération alors que memcpy non.
mercredi 12 mai 2004 à 20:05:55 | Re : Creation d'un tableau en C par rotation A l'aide !!

neohp

bon....

exemple pour un tableau de 5 lignes :

char tableau[5][26] = {0} , lettre = 'A' ;

for( int i = 0 ; i < 5 ; i++ )
{
for( int j = 0 ; j < 26 ; j++ )
{
tableau[i][j] = lettre ;

if( ++lettre >= ( 'Z' + 1 ) )
lettre = 'A' ;
}
lettre++ ;
}

voila , spa plus compliqué que sa ...


neoh_p [=- coding spirit -=]
------- since 1999 ------
mercredi 12 mai 2004 à 20:34:07 | Re : Creation d'un tableau en C par rotation A l'aide !!

djl


en c (ansi) on declare les variables au debut d'un bloc, un bloc c'est une fonction ou un fichier
donc vaut mieux eviter for(int i=... pour une meilleur compatibilité
mercredi 12 mai 2004 à 21:03:01 | Re : Creation d'un tableau en C par rotation A l'aide !!

neohp

oué je sais djl excuse moi, c'est l'habitude du c++ .....

dsl

donc oui pour les debutant, declarez les variables au debut d'un bloc, comme ma l'a rappeler m'sieur djl (en C , surtout )


neoh_p [=- coding spirit -=]
------- since 1999 ------
mercredi 12 mai 2004 à 21:07:29 | Re : Creation d'un tableau en C par rotation A l'aide !!

djl


oui, mais ce que tu a ecris n'est as faut, j'ai juste nuancé car seul c99 supporte les declaration a la c++

jeudi 13 mai 2004 à 09:31:13 | Re : Creation d'un tableau en C par rotation A l'aide !!

babounlehobbit

Neohp,
c tres interessant ce que tu viens decrire...
Mais, ... ou est-ce que tu initialise la base de ton tableau, la ligne 0.
Je ne vois marque l'alphabet nullepart, pourtant ton tableau l'affiche ... ??
(dsl, mais je suis un gros newie ...)

1 2

Cette discussion est classée dans : aide, tableau, creation, rotation


Répondre à ce message

Sujets en rapport avec ce message

creation tableau 2D en C [ par jye_dirtbag ] Bon voila je veux creer un tableau 2D et lors de la création insérer une valeur differente dans la 1ere dimesion à la deuxieme dimension. Je m'expliqu CREATION D UN SIMPLE TABLEAU avec InstallShield [ par tokarno ] Je viens de me mettre à l'InstallShield Prof.Mais je croyais que c'était la même syntaxe que pour le C.Malheureusement je n'arrive même po à créer un creation d'un tableau de taille augmentant a chaque iteration d'une boucle [ par rom12 ] Salut,J'ai besoin de creer un tableau de taille variable... dt la taille n'est pas connue d'avance (d'ou le pb avec malloc).En fait, j'ai une boucle q creation de tableau [ par XSESSloulou ] bjr je suis mega debutant sous visual c++je souhaiterai afficher un tableau de 13 colones et 4 lignes et je n'arrive pas a l'afficher dans ma boite de tableau dynamique en c [ par marco_1980 ] bonjour, quelqu'un pourrai me dire comment réussir à créer un tableau dynamique en c à l'aide de malloc, svpl?? car j^'ai du mal a saisir cette foncti Besoin d'aide en C++ [ par soulearth ] Bonjour, Je suis en BTS Info et je dois faire un programme en C++ en mode console, permettant de gérer des commandes d'un magasin. ex: Recherche de pr traitement d'image à l'aide de Cximage [ par yoben ] Bonjour,L'objectif de mon programme est de récupérer un tableau de pixels d'un fichier contenant une image à partir d'un emplacement quelconque du dis aide pour creation d'un mmorpg [ par elrohir_74 ] Salut tout le monde, je cherche de l'aide car je dois réaliser mon mémoire cette année et je me suis embarq Creation d'un document XML a l'aide de Xerces [ par anis50 ] Salut à tous;En faite j'ai deux questions:1) Est ce qu'on peut utiliser l'API SAX (Xerces) pour ecrire un document XML. Si oui, est c'il y en a des ex aide tableau [ par mave330 ] bonjour, comment faire pour affecter à une variable "A", la valeur d'une variable contenu dans un tableau... merci! a+


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales