TD structures de controle, chaines et tableaux

Prise en main de l'outil VisualStudio 2017

Sous windows (Tous les programmes -> Enseignement -> Visual Studio 2017)

Après avoir lu le document suivant, créer un projet C++ vide, ajouter un fichier main.c (pas main.cpp) affichant "hello" dans une console.


Vous pouvez aussi regarder la video suivante : youtube


Attention : pensez à créer le projet sur le disque local (C:\Users\votre_login\Documents)


Exercice :

écrire un programme qui permet de saisir une chaine au clavier et qui l'affiche


Exercice :

écrire une fonction mylen(char s[])qui calcule la longueur d’une chaine s.


Exercice :

écrire un programme qui lit deux chaines de caractères et les compare :

  • retourne 0 si les deux chaines sont égales
  • retourne -1 si la première chaîne est plus petite suivant l’ordre lexicographique
  • retourne1 sinon


Exercice :

écrire une fonction qui retourne vrai lorsque la chaine passée en paramètre est un palindrome.


Dans la suite de ce TD nous allons définir une bibliothèque permettant de manipuler des grands nombres.

Afin de simplifier le problème nous considérons qu'un grand nombre est représenté par un nombre de chiffres qui sera fixé (à 100 par exemple).


Exercice

écrire une fonction void chaineVersTableau(int a[], char chaine[]) qui convertit la chaine de caractères en un tableau d'entiers (chaque case du tableau correspond à un chiffre compris entre 0 et 9)


écrire une fonction void afficher(int a[]) qui affiche à l'écran le grand nombre


exemple de code :

char sa[] = "1234";
int a[N];
chaineVersTableau(a,sa);
afficher(a);

Exercice

écrire une fonction init qui permet d'initialiser un grand nombre à partir d'un entier codé par un int


exemple de code :

int a[N];

init(a,1);

afficher(a);


Exercice

écrire une fonction addition(int a[], int b[]) qui permet d'additionner deux grands nombres (a = a + b)


Exercice

écrire une fonction multiplication(int a[], int b[]) qui permet de multiplier deux grands nombres (a = a * b)

vous pouvez introduire des fonctions intermédiaires permettant de simplifier l'écriture de la fonction multiplication


Exercice

écrire une fonction fact(int a[], int n) permettant de calculer n!

calculer 10!, puis 20!


pour les plus rapides


Exercice

implanter l'algorithme de multiplication de Karastuba

Comments