Exercice 1 : Manipulations de tableaux* Soit un tableau à deux dimensions de 5 par 5 entiers complètement initialisé : 6 2 3 5 6 Langage C 152
Previous PDF | Next PDF |
[PDF] Corrigé des exercices sur les tableaux - Cnam
Corrigé des exercices sur les tableaux Exercice 5 1 1 tableau d'entiers Dans cet exercice, on va travailler avec un tableau d'entiers initialisé : int[] tab = {12, 15,
[PDF] LANGAGE C Exercices corrigés 1
Exercice 1 Ecrire un programme qui saisit la dimension N d'un tableau de int (le tableau est initialement définit avec une taille maximum MAX que N ne doit pas
[PDF] Langage C : énoncé et corrigé des exercices IUP GéniE - LAMSADE
Langage C : énoncé et corrigé des exercices Exercice 10 Ecrire un progra mm e se co m portant co mm e une ca l cu l atrice , c 'est- à -dire exécutant l a b ouc l
[PDF] Travaux dirigés 5 : les tableaux de variables
tableau, en engendrant leur indice On parle de parcours de tableaux La feuille d'exercices se poursuit en TP Correction Note aux chargés de TD – En cours
[PDF] Les tableaux 1 Exercice 1 - LIPN
Correction du T D 2 Les tableaux 1 Exercice 1 Ecrire les algorithmes permettant : 1 Le calcul du nombre d'occurences d'un élément donné dans un tableau
[PDF] Les tableaux en C 1 Exercice - LIPN
L'exercice sur les tableaux qui suit, pour lequel la correction en pseudo-code en pseudo-langage, les tableaux sont indicés `a partir de 1, alors qu'en C les
[PDF] TD8 : Tableaux à deux dimensions (Corrigé)
Exercice 1 : Manipulations de tableaux* Soit un tableau à deux dimensions de 5 par 5 entiers complètement initialisé : 6 2 3 5 6 Langage C 152
[PDF] Programmation en C – Exercices - Pages Perso - UPVD
Exercice 18 (max-tab) Ecrire un programme max-tab qui identifie le maximum d' un tableau d'entiers de longueur quelconque La longueur
[PDF] Tableaux `a une dimension - Depinfo
Par exemple, pour déclarer la variable tab comme étant un tableau de 10 entiers, on écrira : int tab [10] ; Introduction `a l'informatique et au langage C Introduction `a Question 7-2 Valeurs extrêmes → exercice d'assimilation Ecrivez un
[PDF] les tableaux en c pdf
[PDF] liste commande langage c
[PDF] dyscalculie test adulte
[PDF] correspondance mets et watts
[PDF] programme ti 83 plus maths terminale s
[PDF] test d'effort 300 watts
[PDF] test d'effort 120 watt
[PDF] test de l'effort 240 watt =
[PDF] test d'effort vélo
[PDF] interpretation resultat test effort
[PDF] test effort cardiaque positif
[PDF] test afpa niveau 5 2016
[PDF] test psychotechnique afpa niveau 5 pdf
[PDF] français familier expressions pdf
IUT de Villetaneuse
TD8 : Tableaux à deux dimensions (Corrigé)
Exercice 1 : Manipulations de tableaux*
Soit un tableau à deuxdimensions de 5 par 5 entiers complètement initialisé :6 2 3 5 6
4 6 2 6 1
1 3 6 7 9
1 6 3 6 8
6 0 1 4 6
Question 1.1 :
Effectuer les actions suivantes :
- afficher le tableau - afficher le tableau constitué uniquement deslignes d'indice pair - afficher le tableau constitué uniquement deséléments d'indice impair de chaque ligneCorrection :�
1int tab[5][5]={{6,2,3,5,6},{4,6,2,6,1},{1,3,6,7,9},{1,6,3,6,8},{6,0,1,4,6}};
2int i,j;
3for (i=0; i<5; i++)
4{5for (j=0; j<5; j++)
6printf ("%d ", tab[i][j]);
7printf ("\n");
8} 910for (i=0; i<5; i+=2)
11{12for (j=0; j<5; j++)
13printf ("%d ", tab[i][j]);
14printf ("\n");
15} 1617for (i=0; i<5; i++)
18{19for (j=1; j<5; j+=2)
20printf ("%d ", tab[i][j]);
21printf ("\n");
22}Question 1.2 :
Écrire un algorithme qui permet premièrement d'afficher la diagonale(de gaucheà droite), puis la 2e diagonale
Correction :�
1int tab[5][5]={{6,2,3,5,6},{4,6,2,6,1},{1,3,6,7,9},{1,6,3,6,8},{6,0,1,4,6}};
2int i=0 ;
3while (i< 5)
4{5printf ("%d", tab[i][i]);
6i++; 7}Langage C
1521ère
année (2013/2014)Département informatique
Correction :
1int tab[5][5]={{6,2,3,5,6},{4,6,2,6,1},{1,3,6,7,9},{1,6,3,6,8},{6,0,1,4,6}};
23int i=0 ;
4int k=4;
5while (i < 5)
6{7printf ("%d", tab[i][k]);
8i++; 9k--; 10}Question 1.3 :
Tester si les nombres qui apparaissent dans les deux diagonales sonttous égaux à une seule et même valeur. Le programme affichera "OUI" ou "NON" en fonction du résultat.Correction :�
1int tab[5][5]={{6,2,3,5,6},{4,6,2,6,1},{1,3,6,7,9},{1,6,3,6,8},{6,0,1,4,6}};
2int val = tab[0][0];
34int i=0 ;
5int k=4;
67while ((i < 5) && (tab[i][i] == val) && (tab[i][k] == val))// garder l'ordre des conditions
8{ 9i++;10k++;
11}12if (i==5)
13printf ("OUI");
14else
15printf ("NON");
Exercice 2 : Échangede triangles**
Écrire l'algorithme quiéchange le triangle inférieur avec le triangle supérieur dans un tableau à
deux dimensions. C'estdonc le tableau obtenuen faisant une symétriepar rapport à la diagonale principale.Exemple :
10 11 45 7810 23 56 47
23 44 12 56 ---\11 44 90 78
56 90 67 89 ---/45 12 67 55
47 78 55 3478 56 89 34
Correction :
1int tab[4][4]={{10, 11, 45,78},{23, 44, 12, 56}, {56, 90, 67, 89},{47, 78, 55, 34}};
2int nbLigEff=4;
3int nbColEff=4;
45int temp;
6int i=0;
7while (i 1 ère
année (2013/2014) 153Langage C
IUT de Villetaneuse
8{ 9j=i+1;
10while (j 11{ 12temp = tab[i][j];
13tab[i][j] = tab[j][i];
14tab[j][i] = temp;
15j=j+1;
16} 17i=i+1;
18} Exercice 3 : Allocation dynamique**
Refaire les exercices précédant en déclarant àchaque fois des tableaux 2d dynamiques, où la
saisie de la taille et deséléments du tableau sefait par l'utilisateur. Langage C
1541
ère
année (2013/2014) Département informatique
TP8 : Tableaux à deux dimensions (Corrigé)
Exercice 4 : Manipulation des matrices endynamique** Question 4.1 :
Écrire un programme qui permet de construireune matrice nulle de taille lignes× colonnes Correction :�
1int nblignes;
2int nbcolones;
3 4printf ("combien de lignes: ");
5scanf("%d", &nbligne);
6 7ntf("combien de colonnes : ");
8scanf("%d", &nbcolones);
9 10I = (int**) malloc(nblignes*sizeof(int*));
11 12int i;
13int j ;
14for (i=0 ; i 15{ 16I[i]=(int*) malloc(nbcolonnes*sizeof(int));
17 18} 19for (i=0; i 20{ 21for (j=0; j 22I[i][j]=0;
23}
Question 4.2 :
Modifier le programme pour construire la matrice carrée identité I(tous les éléments de la diagonale sont égaux à 1, les autres valent 0). Correction :
Demander seulementune dimension (matrice carrée). Même initialisation, puis 1for (i=0; i 2{ 3I[i][i]=1;
4} Question 4.3 :
Écrire une fonction quicalcule la trace d'une matrice carrée, c'est-à-dire la somme des coefficients diagonaux de cette matrice. Correction :�
1int trace(int **A, int nblignes, int nbcolonnes)
2{ 3if (nblignes != nbcolonnes)
4{ 5printf ("Le calcul est impossible");
6return -1;
7} 1 ère
année (2013/2014) 155Langage C
IUT de Villetaneuse
8else 9{ 10int tr=0;
11for (i=0; i 12tr=tr+A[i][i];
13 14return tr;
15} 16} Question 4.4 :
Écrire une fonction qui teste si un élément x appartient à une matrice A. Correction :�
1int appartenance(int **A, int nblignes, int nbcolonnes, int x)
2{ 3int i;
4int j;
5for (i=0; i 6{ 7for (j=0; j 8if (A[i][j] == x)
9return 1;
10} 11return 0;
12} Question 4.5 :
Écrire une fonction qui permute deux colonnes d'une matrice. Correction :�
1void permutationColonnes(int **A, int nblignes, int k, int l)
2{ 3int i=0;
4int tempo;
5while (iquotesdbs_dbs7.pdfusesText_13
ère
année (2013/2014)153Langage C
IUT de Villetaneuse
8{9j=i+1;
10while (j 11{ 12temp = tab[i][j];
13tab[i][j] = tab[j][i];
14tab[j][i] = temp;
15j=j+1;
16} 17i=i+1;
18} Exercice 3 : Allocation dynamique**
Refaire les exercices précédant en déclarant àchaque fois des tableaux 2d dynamiques, où la
saisie de la taille et deséléments du tableau sefait par l'utilisateur. Langage C
1541
ère
année (2013/2014) Département informatique
TP8 : Tableaux à deux dimensions (Corrigé)
Exercice 4 : Manipulation des matrices endynamique** Question 4.1 :
Écrire un programme qui permet de construireune matrice nulle de taille lignes× colonnes Correction :�
1int nblignes;
2int nbcolones;
3 4printf ("combien de lignes: ");
5scanf("%d", &nbligne);
6 7ntf("combien de colonnes : ");
8scanf("%d", &nbcolones);
9 10I = (int**) malloc(nblignes*sizeof(int*));
11 12int i;
13int j ;
14for (i=0 ; i 15{ 16I[i]=(int*) malloc(nbcolonnes*sizeof(int));
17 18} 19for (i=0; i 20{ 21for (j=0; j 22I[i][j]=0;
23}
Question 4.2 :
Modifier le programme pour construire la matrice carrée identité I(tous les éléments de la diagonale sont égaux à 1, les autres valent 0). Correction :
Demander seulementune dimension (matrice carrée). Même initialisation, puis 1for (i=0; i 2{ 3I[i][i]=1;
4} Question 4.3 :
Écrire une fonction quicalcule la trace d'une matrice carrée, c'est-à-dire la somme des coefficients diagonaux de cette matrice. Correction :�
1int trace(int **A, int nblignes, int nbcolonnes)
2{ 3if (nblignes != nbcolonnes)
4{ 5printf ("Le calcul est impossible");
6return -1;
7} 1 ère
année (2013/2014) 155Langage C
IUT de Villetaneuse
8else 9{ 10int tr=0;
11for (i=0; i 12tr=tr+A[i][i];
13 14return tr;
15} 16} Question 4.4 :
Écrire une fonction qui teste si un élément x appartient à une matrice A. Correction :�
1int appartenance(int **A, int nblignes, int nbcolonnes, int x)
2{ 3int i;
4int j;
5for (i=0; i 6{ 7for (j=0; j 8if (A[i][j] == x)
9return 1;
10} 11return 0;
12} Question 4.5 :
Écrire une fonction qui permute deux colonnes d'une matrice. Correction :�
1void permutationColonnes(int **A, int nblignes, int k, int l)
2{ 3int i=0;
4int tempo;
5while (iquotesdbs_dbs7.pdfusesText_13
12temp = tab[i][j];
13tab[i][j] = tab[j][i];
14tab[j][i] = temp;
15j=j+1;
16}17i=i+1;
18}Exercice 3 : Allocation dynamique**
Refaire les exercices précédant en déclarant àchaque fois des tableaux 2d dynamiques, où la
saisie de la taille et deséléments du tableau sefait par l'utilisateur.