Je vous ai déjà donné un petit aperçu des tableaux il y a peu de temps avec les chaînes de caractères, et je me doute que vous vous posez bien des questions a leurs sujets !

Donc, un tableau est de la forme type[] nom ou type est un type quelconque : int, char, float ou même un type utilisateur comme je le montrerais plus tard. La plupart du temps, on utilise une constante (#define) pour donner la taille d'un tableau. Tous les éléments d'un tableau sont du même type.

Le mieux est de donner un exemple, le programme suivant va demander 15 entiers a l'utilisateur et puis, il les triera (ce tri est le tri par sélection) :

#include <stdio.h> /* directive du preprocesseur */ #define TAILLE 15 void echange(int[], int *); int indicemin(int[], int); void main() { int[TAILLE] a; int i; printf("Entrez moi %d entiers",TAILLE); for(i=0;i<TAILLE;i++) scanf("%d",&a[i]); for(i=0;i<TAILLE;i++) echanger(&a[indicemin(a,i)],&a[i]); printf("Voici le tableau de %d entiers trie :\n",TAILLE); for(i=0;i<TAILLE;i++) printf("%d ",a[i]); printf("\n"); } void echanger(int * a, int * b) { int temp; temp=*a; *a=*b; *b=temp; } int indicemin(int a[], int i) { /* Calcule l'indice minimum a partir de i */ int j,k; for { j=i, k=i+1 ; k < TAILLE ; k++ ) if (a[k]<a[j]) j=k; return j; }

Mais la magie des tableaux ne s'arrête pas là, nous n'avons eu a faire qu'à des tableaux à une dimension, mais il est tout à fait possible d'avoir des tableaux a plusieurs dimensions, par exemple, une matrice d'entiers se déclarerais comme ça : int a[10][15]; et nous aurions donc un tableau avec 10 colonnes et 15 lignes (ou le contraire, tout dépends ou on place les lignes et ou on place les colonnes...). Si jamais le besoin s'en fait sentir, on pourra tout a fait avoir : int c[50][24][23][45][78][41] (le seul problème pourrait être la mémoire : un entier (sur PC et sous DOS) occupe 2 octets, on aurais donc une occupation mémoire de : 2*50*24*23*45*78*41 = 7943832000 octets = 7.3Go ... Je sais pas pour vous, mais j'ai pas assez de mémoire pour mettre tout ce :)).

Exercice :

Ecrire un programme qui lit huit entiers et qui les affiche dans l'ordre inverse de l'ordre d'entrée. On utiliser une boucle pour la lecture et une pour l'affichage.

Ecrire une fonction qui détermine le plus grand et le plus petit élément d'un tableau. Avec une seule boucle.

solution


Palindrome

Un palindrome est un mot ou une phrase qui se lit indifféremment de gauche à droite, ou de droite à gauche. Par exemple :

kayak

elu par cette crapule

esope reste ici et se repose

Ecrire une fonction qui vérifie si un mot ou une phrase est un palindrome.

solution



Dernière révision :
Date de Création : 25 mars 1998
Copyright ©
Mathieu ARNOLD 1998