Forum > C/C++ > Rotation de texte >

Rotation de texte

Auteur Message
jeremya Posté le 15 mai 2007 19:30:08

Administrateur
Administrateur

Auteur
Auteur

Modérateur
Modérateur

Inscrit le : 20 sep 2005
Localisation : Nord-Pas de Calais
Emploi :
Loisirs :

PROBLEME

Ecrivez un programme qui affiche un texte fourni en entrée, après avoir effectué sur ce texte une rotation dans un sens ou dans l'autre, d'un certain nombre de caractères.

CONTRAINTES

  • 1 <= N <= 100, où N est le nombre de caractères du texte.
  • -100 <= R <= 100, où R indique le nombre de caractères de la rotation.

ENTREE

La première ligne de l'entrée contient un entier N : le nombre de caractères du texte.

La deuxième ligne contient un entier R : le nombre de caractères dont on doit faire tourner ce texte. Un nombre négatif correspond à une rotation vers la gauche, un nombre positif à une rotation vers la droite.

La troisième ligne contient le texte, composé de caractères majuscules et minuscules pouvant être accentués, de signes de ponctuation et de caractères '_', mais pas d'espaces.

SORTIE

Vous devez afficher une ligne sur la sortie : le texte d'entrée, après lui avoir appliqué la rotation indiquée.

CODE SOURCE

 
#include <stdio.h>
 
int main(int argc, char *argv[])
{
  unsigned int N;
  int R;
  char text_in[150];
  char text_out[150];
 
  scanf("%d\n",&N);
  scanf("%d\n",&R);
  scanf("%s\n",text_in);
 
  if(R==0)
    strcpy(text_out,text_in);
  else if(R<0)
  {
    int w=strlen(text_in);
    strcpy(text_out,text_in-R);
    strncpy(text_out+w+R,text_in,-R);
    text_out[w+R]='\0';
  }
  else
  {
    int w=strlen(text_in);
    strcpy(text_out,text_in+w-R);
    strncpy(text_out+w-R,text_in,w-R);
    text_out[w-R]='\0';
  }
 
  printf("%s\n",text_out);
 
  return 0; 
} 
 

EXPLICATIONS

Pour écrire sur la sortie standard, on utilise la fonction printf().

Pour lire sur l'entrée standard, on utilise la fonction scanf(). 

 

Messages : 60 http://jeremya.ironie.org

répondre

première page page précédente page suivante dernière page

Navigation rapide :

Forum > C/C++ > Rotation de texte >


Cette page a été générée le 07 oct 2008 15:04:57.
clipart home livre lecture book JEREMYA
WEBSITE
jeremya.ironie.org

s'identifier

Nom d'utilisateur :
Mot de passe :

outils

qui est en ligne ?

14 visiteurs en ligne

sondage qualité

1-mauvais - excellent-5
Design :
1 5
Ergonomie :
1 5
Contenu :
1 5
Structure :
1 5
Ensemble :
1 5
1-mauvais - excellent-5
Commentaire :