Vous êtes sur la page 1sur 5

Matière Niveau

Initiation à la programmation en C 1ACP

TP-05

Tableaux

Partie I : Correction d’erreurs


Corriger les erreurs des programmes suivants :
Erreurs de compilation
1)
#include <stdio.h>
int main(){
int T[];
T[1] = 2;
T[2] = 4;
for (int i=0; i<2;i++){
printf("%d\n",T[i]);
}
}

2)
#include <stdio.h>
int main(){
int T[2];
T[0] = 2;
T[1] = 4;
printf("%d\n",T[i]);
}

3)
#include <stdio.h>
int main(){
int T[2];
T[0] = 2;
T[1] = 4;
printf("%d\n",T(0)+T(1));
}

4)
#include <stdio.h>
int main(){
int i=0, T[5]={2,4,6,8,10,12};
while (i++<5){
printf("%d\n",T[i]);
}
}

Page 1 sur 5
Matière Niveau

Initiation à la programmation en C 1ACP

Erreurs de logique
1)
#include <stdio.h>
int main(){
int i, T[2];
T[0] = 2;
T[1] = 4;
for (i=0; i<=2;i++){printf("%d\n",T[i]);}
}

2)
#include <stdio.h>
int main(){
int i, T[3];
T[0] = 2;
T[1] = 4;
for (i=3; i>0;--i){printf("%d\n",T[i]);}
}

3)
#include <stdio.h>
int main(){
int i=0, T[]={2,4,6,8,10};
while (i<5){printf("%d\n",T[++i]);}
}

4)
#include <stdio.h>
int main(){
int i, T[]={2,4,6,8,10};
while (i<5){
printf("%d\n",T[i++]);
}
}

5)
#include <stdio.h>
int main(){
int i=0, T[5];
scanf("%d", &T[i]);
for (i=0; i<5;i++){
printf("%d\n",T[i]);
}
}

Page 2 sur 5
Matière Niveau

Initiation à la programmation en C 1ACP

Partie II : Exécution de programmes


Donnez le résultat et l’état de la mémoire à la fin de l’exécution des programmes suivants :
1)

#include <stdio.h>
int main(){
int T[5];
T[1] = 2;
T[2] = 4;
T[3] = 6;
T[4] = 4;
T[5] = 7;
for (int i=0; i<5;i++){
printf("%d\n",T[i]);
}
}
2)
#include <stdio.h>
int main(){
int T[5];
T[2] = 2;
T[4] = 4;
T[0] = 6;
T[3] = 4;
T[1] = 7;
for (int i=5; i>0;i--){ printf("%d\n",T[i]);}
}
3)
#include <stdio.h>
int main(){
int T[5];
T[0] = 7;
T[1] = 12;
T[2] = T[0]-T[1];
T[3] = T[2] + 2;
T[4] = T[2] + T[3];
for (int i=0; i<5;i++){
printf("%d\n",T[i]);
}
}
4)
#include <stdio.h>
int main(){
int T[5];
T[0] = 2;
T[1] = 4;
T[T[1]] = T[1]-T[0];
T[T[4]] = T[1] + 2;
T[T[1]-1] = T[2] + T[1];
for (int i=0; i<5;i++){
printf("%d\n",T[i]);
}
}

Page 3 sur 5
Matière Niveau

Initiation à la programmation en C 1ACP

5)
#include <stdio.h>
int main(){
int T[5];
T[0] = 2;
T[1] = 1;
T[3] = T[0] + T[1];
T[T[0]] = 4;
T[T[2]] = T[2]++;
for (int i=0; i<5;i++){
printf("%d\n",T[i]);
}
}

6)
#include <stdio.h>
int main(){
int T[5][2] = {{15,12},{10,9},{19,20},{0,1},{14,14}};
int i,j;
for ( i=4;i>=0;i--) {
for ( j=0; j<2;j++) {
printf("%d,", T[i][j]);
}
}
}
7)
#include <stdio.h>
int main(){
int T[5][2] = {{15,12},{10,9},{19,20},{0,1},{14,14}};
int i,j;
for ( i=4;i>=0;i-=2) {
for ( j=0; j<2;j++) {
printf("%d,", T[i][j]);
}
}
}
8)
#include <stdio.h>
int main(){
int T[5][2] = {{15,12},{10,9},{19,20},{0,1},{14,14}};
int i,j, s;
for ( i=0;i<5;i++) {
s = 0;
for ( j=0; j<2;j++) {
s += T[i][j];
}
printf("%d\n",s);
}
}

Page 4 sur 5
Matière Niveau

Initiation à la programmation en C 1ACP

Parties III : Exercices


1) Écrire un programme en C qui affiche les éléments d’un Tableaux T de 10 entiers.

2) Écrire un programme en C qui affiche la somme des éléments d’un Tableaux T de 10 entiers.

3) Écrire un programme en C qui détermine la valeur et l’indice du plus grand élément d’un tableau T de
5 entiers.

4) Écrire un programme en C qui détermine la valeur et l’indice du plus grand élément et du plus petit
élément d’un tableau T de 5 entiers

5) Écrire un programme en C qui détermine le nombre de 0 (zéro) dans un tableau T de 10 entiers.

6) Écrire un programme en C qui lit 10 nombres entiers et les affiche dans l’ordre inverse.

Modifiez le programme afin de pouvoir lire N nombres entiers et les afficher dans l’ordre inverse.

7) Écrire un programme qui fusionne deux tableaux de 5 éléments en un seul tableau de dix éléments.

8) Écrire un programme en C permettant de lire N entiers, met les valeurs saisies dans un tableau T1 et
le carré de ces valeurs dans un tableau T2.

9) Écrire un programme en C qui détermine le nombre de 0 (zéro), le nombre d’entiers positifs et le


nombre d’entiers négatifs dans un tableau T de 10 entiers.

10) Écrire un programme en C permettant de lire 10 entiers, met les nombres positifs dans un tableau TP
et les nombres négatifs dans un tableau TN et les nombres nuls dans un tableau TZ.

11) Écrire un programme en C permettant de lire 10 entiers et les affichent dans l’ordre suivant :
nombres négatifs suivis des nombres nuls suivis des nombres positifs.

12) Écrire un programme en C permettant de lire les informations de 10 étudiants (nom et âge) puis les
affiche dans l’ordre inverse de la saisie.

Modifier le programme afin de permettre de chercher l’âge d’un étudiant à partir de son nom.

13) Écrire un programme qui permet à un professeur de saisir les notes de ses étudiants puis affiche la
moyenne de classe, le nombre de notes supérieures à la moyenne de la classe, le nombre de notes
égales à la moyenne de la classe et le nombre de notes inférieures à la moyenne de la classe.

14) Écrire un programme qui lit 9 nombres de 0 à 9 et affiche le nombre manquant. Le programme ne
doit pas autoriser les doublons.

15) Écrire un programme qui lit 5 nombres de 0 à 9 et affiche le plus petit nombre manquant. Le
programme ne doit pas autoriser les doublons.

Page 5 sur 5

Vous aimerez peut-être aussi