Exercices corrigés sur les tableaux en Python, Java et langage C - TD1-

Do you want to read our courses in English? please visit our new website cs-teachers.com Click here

Exercices corrigés sur les tableaux en Python, Java et langage C - TD1-

Un tableau est une structure de données linéaire qui contient une collection séquentielle finie de données homogènes.

Le tableau utilise un index de valeur entière pour accéder à un élément spécifique. L'index commence à 0 et va jusqu'à N-1 (où N est la taille du tableau).

Un tableau est une collection d'éléments stockés dans des emplacements de mémoire continus.

Dans les exercices suivants, nous nous concentrerons sur des tableau à une dimension. Nous vous montrerons comment implémenter et utiliser des tableaux.

Tous les exercices sont résolus en utilisant Python, Java et C

Exercice 1

Écrivez un programme pour déclarer et initialiser un tableau, puis saisissez ses éléments à partir de l'utilisateur et affichez le tableau.

Exemple :
Données d'entrée 
  • Saisir le nombre d'éléments : 5
  • Elément 1 : 3
  • Elément 2 : 7
  • Elément 3 : 4
  • Elément 4 : 9
  • Elément 5 : 8

Données de sortie
  • 3 7 4 9 8
Corrigé
import java.util.Scanner;

public class Test {
    public static void main(String[] variables) {
        Scanner clavier = new Scanner(System.in);

        int N, i;
        int tab[];

        // Saisir la taille actuelle du tableau */
        System.out.print("Saisir le nombre d'éléments : ");
        N = clavier.nextInt();

        // intialiser la taille du tableau tab avec N
        tab = new int[N];

        // Saisir les éléments du tableau tab */

        for (i = 0; i < N; i++) {
            System.out.print("Elément " + (i + 1) + " : ");
            tab[i] = clavier.nextInt();
        }

        // afficher les éléments du tableau tab
        for (i = 0; i < N; i++) {
            System.out.print(tab[i] + ", ");
        }

        // fermer les ressources
        clavier.close();
    }
}

                                        
#include <stdio.h>
#define TAILLE_MAX 1000 // La taille maximale

int main()
{
    int tab[TAILLE_MAX]; // Déclarer un tableau de taille TAILLE_MAX
    int i, N;

    /* Saisir la taille actuelle du tableau  <  TAILLE_MAX */
    printf("Saisir le nombre d'éléments : ");
    scanf("%d", &N);

    /* Saisir les éléments du tableau tab */

    for(i=0; i<N; i++)
    {
        printf("Elément %d", i+1);
        scanf("%d", &tab[i]);
    }


    /*
     * afficher les éléments du tableau tab
     */
    for(i=0; i<N; i++)
    {
        printf("%d, ", tab[i]);
    }

    return 0;
}
                                        
# Saisir la taille actuelle du tableau
N = int(input("Saisir le nombre d'éléments : "))

# intialiser la taille de tableau avec N
tab=[0]*N;

# Saisir les éléments du tableau source
for i in range(N):
    tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))

# afficher les éléments du tableau tab
for i in range(N):
    print(tab[i],end=', ')
                                        

Exercice 2

Écrivez un programme pour déclarer un tableau, puis saisissez ses éléments par l'utilisateur et affichez tous les éléments négatifs.

Exemple :
Données d'entrée 
  • Saisir le nombre d'éléments : 5
  • Elément 1 : 3
  • Elément 2 : -7
  • Elément 3 : 4
  • Elément 4 : -9
  • Elément 5 : 8

Données de sortie
  • -7 , -9
Corrigé
import java.util.Scanner;

public class Test {
    public static void main(String[] variables) {
        Scanner clavier = new Scanner(System.in);

        int N, i;
        int tab[];

        // Saisir la taille actuelle du tableau */
        System.out.print("Saisir le nombre d'éléments : ");
        N = clavier.nextInt();

        // intialiser la taille du tableau tab avec N
        tab = new int[N];

        // Saisir les éléments du tableau tab */

        for (i = 0; i < N; i++) {
            System.out.print("Elément " + (i + 1) + " : ");
            tab[i] = clavier.nextInt();
        }

        System.out.println("\nLes éléments négatifs du tableau sont : ");
        for (i = 0; i < N; i++) {
            /* Si l'élément de tableau actuel est négatif */
            if (tab[i] < 0) {
                System.out.print(tab[i] + ", ");
            }
        }

        // fermer les ressources
        clavier.close();
    }
}

                                        
#include <stdio.h>

#define TAILLE_MAX 1000 // La taille maximale

int main()
{
    int tab[TAILLE_MAX]; // Déclarer un tableau de taille TAILLE_MAX
    int i, N;

    /* Saisir la taille actuelle du tableau  <  TAILLE_MAX */
    printf("Saisir le nombre d'éléments : ");
    scanf("%d", &N);

    /* Saisir les éléments du tableau tab */

    for(i=0; i<N; i++)
    {
        printf("Elément %d", i+1);
        scanf("%d", &tab[i]);
    }

    printf("\nLes éléments négatifs du tableau sont : ");
    for(i=0; i<N; i++)
    {
        /* Si l'élément de tableau actuel est négatif */
        if(tab[i] < 0)
        {
            printf("%d\t", tab[i]);
        }
    }

    return 0;
}
                                        
# Saisir la taille actuelle du tableau
N = int(input("Saisir le nombre d'éléments : "))

# intialiser la taille de tableau avec N
tab=[0]*N;

# Saisir les éléments du tableau source
for i in range(N):
    tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))

print("Les éléments négatifs du tableau sont : ")
for i in range(N):
    # Si l'élément de tableau actuel est négatif */
    if (tab[i] < 0):
        print(tab[i],end=", ")
                                        

Exercice 3

Écrire un programme pour déclarer un tableau, puis saisir ses éléments à partir de l'utilisateur et trouver la somme des éléments du tableau

Exemple :
Données d'entrée 
  • Saisir le nombre d'éléments : 5
  • Elément 1 : 3
  • Elément 2 : 7
  • Elément 3 : 4
  • Elément 4 : 9
  • Elément 5 : 8

Données de sortie
  • la somme = 31
Corrigé
import java.util.Scanner;

public class Test {
    public static void main(String[] variables) {
        Scanner clavier = new Scanner(System.in);

        int N, i, somme = 0;
        int tab[];

        // Saisir la taille actuelle du tableau */
        System.out.print("Saisir le nombre d'éléments : ");
        N = clavier.nextInt();

        // intialiser la taille du tableau tab avec N
        tab = new int[N];

        // Saisir les éléments du tableau tab */

        for (i = 0; i < N; i++) {
            System.out.print("Elément " + (i + 1) + " : ");
            tab[i] = clavier.nextInt();
        }

        // Ajouter chaque élément du tableau à somme
        for (i = 0; i < N; i++) {
            somme = somme + tab[i];
        }

        System.out.println("Somme de tous les éléments du tableau = " + somme);

        // fermer les ressources
        clavier.close();
    }
}

                                        
#include <stdio.h>
#define TAILLE_MAX 1000 // La taille maximale

int main()
{
    int tab[TAILLE_MAX];
    int i, N, somme=0;

    /* Saisir la taille actuelle du tableau  <  TAILLE_MAX */
    printf("Saisir le nombre d'éléments : ");
    scanf("%d", &N);

    /* Saisir les éléments du tableau tab */

    for(i=0; i<N; i++)
    {
        printf("Elément %d", i+1);
        scanf("%d", &tab[i]);
    }

    /*
     * Ajouter chaque élément du tableau à somme
     */
    for(i=0; i<N; i++)
    {
        somme = somme + tab[i];
    }


    printf("Somme de tous les éléments du tableau = %d", somme);

    return 0;
}
                                        
# Saisir la taille actuelle du tableau
N = int(input("Saisir le nombre d'éléments : "))

# intialiser la taille de tableau avec N
tab=[0]*N;

# Saisir les éléments du tableau source
for i in range(N):
    tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))

# Ajouter chaque élément du tableau à somme
somme=0
for i in range(N):
    somme = somme + tab[i]

print("Somme de tous les éléments du tableau = ",somme)
    
                                        

Exercice 4

Écrire un programme pour déclarer un tableau, puis saisir ses éléments à partir de l'utilisateur et rechercher les éléments maximum et minimum dans le tableau

Exemple :
Données d'entrée 
  • Saisir le nombre d'éléments : 5
  • Elément 1 : 3
  • Elément 2 : 7
  • Elément 3 : 4
  • Elément 4 : 9
  • Elément 5 : 8

Données de sortie
  • Maximum = 9
  • Minimum = 3
Corrigé
import java.util.Scanner;

public class Test {
    public static void main(String[] variables) {
        Scanner clavier = new Scanner(System.in);

        int N, i, max, min;
        int tab[];

        // Saisir la taille actuelle du tableau */
        System.out.print("Saisir le nombre d'éléments : ");
        N = clavier.nextInt();

        // intialiser la taille du tableau tab avec N
        tab = new int[N];

        // Saisir les éléments du tableau tab */
        for (i = 0; i < N; i++) {
            System.out.print("Elément " + (i + 1) + " : ");
            tab[i] = clavier.nextInt();
        }

        /* Supposons le premier élément comme maximum et minimum */
        max = tab[0];
        min = tab[0];

        /*
         * Trouvez le maximum et le minimum dans tous les éléments du tableau.
         */
        for (i = 1; i < N; i++) {
            /* Si l'élément actuel est supérieur à max */
            if (tab[i] > max) {
                max = tab[i];
            }

            /* Si l'élément actuel est inférieur à min */
            if (tab[i] < min) {
                min = tab[i];
            }
        }

        System.out.println("Maximum = " + max);
        System.out.println("Minimum = " + min);

        // fermer les ressources
        clavier.close();
    }
}

                                        
#include <stdio.h>

#define TAILLE_MAX 1000 // La taille maximale

int main()
{
    int tab[TAILLE_MAX];
    int i, max, min, N;

    /* Saisir la taille actuelle du tableau  <  TAILLE_MAX */
    printf("Saisir le nombre d'éléments : ");
    scanf("%d", &N);

    /* Saisir les éléments du tableau tab */

    for(i=0; i<N; i++)
    {
        printf("Elément %d", i+1);
        scanf("%d", &tab[i]);
    }


    /* Supposons le premier élément comme maximum et minimum */
    max = tab[0];
    min = tab[0];

    /*
     * Trouvez le maximum et le minimum dans tous les éléments du tableau.
     */
    for(i=1; i<N; i++)
    {
        /* Si l'élément actuel est supérieur à max */
        if(tab[i] > max)
        {
            max = tab[i];
        }

        /* Si l'élément actuel est inférieur à min */
        if(tab[i] < min)
        {
            min = tab[i];
        }
    }

    printf("Maximum = %d\n", max);
    printf("Minimum = %d", min);

    return 0;
}
                                        
# Saisir la taille actuelle du tableau
N = int(input("Saisir le nombre d'éléments : "))

# intialiser la taille de tableau avec N
tab=[0]*N;

# Saisir les éléments du tableau source
for i in range(N):
    tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))


# Supposons le premier élément comme maximum et minimum */
max = tab[0]
min = tab[0]

# Ajouter chaque élément du tableau à somme
somme=0
for i in range(N):
    # Si l'élément actuel est supérieur à max */
    if (tab[i] > max):
        max = tab[i]

    # Si l'élément actuel est inférieur à min */
    if (tab[i] < min):
        min = tab[i]

print("Maximum = ",max)
print("Minimum = ",min)
                                        

Exercice 5

Écrivez un programme pour déclarer un tableau, puis saisissez ses éléments à partir de l'utilisateur et recherchez l'élément le plus grand et le deuxième dans ce tableau

Exemple :
Données d'entrée 
  • Saisir le nombre d'éléments : 5
  • Elément 1 : 3
  • Elément 2 : 7
  • Elément 3 : 4
  • Elément 4 : 9
  • Elément 5 : 8

Données de sortie
  • Premier plus grand : 9
  • Deuxième plus grand : 8
Corrigé
import java.util.Scanner;

public class Test {
    public static void main(String[] variables) {
        Scanner clavier = new Scanner(System.in);

        int N, i, max1, max2;
        int tab[];

        // Saisir la taille actuelle du tableau */
        System.out.print("Saisir le nombre d'éléments : ");
        N = clavier.nextInt();

        // intialiser la taille du tableau tab avec N
        tab = new int[N];

        // Saisir les éléments du tableau tab */
        for (i = 0; i < N; i++) {
            System.out.print("Elément " + (i + 1) + " : ");
            tab[i] = clavier.nextInt();
        }

        max1 = max2 = tab[0];

        // Vérifier le premier plus grand et le deuxième
        for (i = 0; i < N; i++) {
            if (tab[i] > max1) {
                /*
                 * Si l'élément actuel du tableau est le premier plus grand alors rendre le
                 * courant max comme deuxième max puis max comme élément de tableau actuel
                 */
                max2 = max1;
                max1 = tab[i];
            } else if (tab[i] > max2 && tab[i] < max1) {
                /*
                 * Si l'élément de tableau actuel est inférieur au premier plus grand mais est
                 * plus grand que le deuxième plus grand alors faites-le deuxième plus grand
                 */
                max2 = tab[i];
            }
        }

        System.out.println("Premier plus grand = " + max1);
        System.out.println("Deuxième plus grand =" + max2);

        // fermer les ressources
        clavier.close();
    }
}

                                        
#include <stdio.h>

#define TAILLE_MAX 1000 // La taille maximale

int main()
{
    int tab[TAILLE_MAX], N, i;
    int max1, max2;

    /* Saisir la taille actuelle du tableau  <  TAILLE_MAX */
    printf("Saisir le nombre d'éléments : ");
    scanf("%d", &N);

    /* Saisir les éléments du tableau tab */

    for(i=0; i<N; i++)
    {
        printf("Elément %d", i+1);
        scanf("%d", &tab[i]);
    }

    max1 = max2 = tab[0];


    /*
     * Vérifier le premier plus grand et le deuxième
     */
    for(i=0; i<N; i++)
    {
        if(tab[i] > max1)
        {
            /*
             * Si l'élément actuel du tableau est le premier plus grand
             * alors rendre le courant max comme deuxième max
             * puis max comme élément de tableau actuel
             */
            max2 = max1;
            max1 = tab[i];
        }
        else if(tab[i] > max2 && tab[i] < max1)
        {
            /*
             * Si l'élément de tableau actuel est inférieur au premier plus grand
             * mais est plus grand que le deuxième plus grand alors faites-le
             * deuxième plus grand
             */
            max2 = tab[i];
        }
    }

    printf("Premier plus grand = %d\n", max1);
    printf("Deuxième plus grand = %d", max2);

    return 0;
}
                                        
# Saisir la taille actuelle du tableau
N = int(input("Saisir le nombre d'éléments : "))

# intialiser la taille de tableau avec N
tab=[0]*N

# Saisir les éléments du tableau source
for i in range(N):
    tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))


# Supposons le premier et deuxième plus grand = premier élément du tableau */
max1 = max2 = tab[0]

for i in range(N):
    if (tab[i] > max1):
        #Si l'élément actuel du tableau est le premier plus grand alors rendre le
        #courant max comme deuxième max puis max comme élément de tableau actuel
        max2 = max1
        max1 = tab[i]
    elif (tab[i] > max2 and tab[i] < max1):
        #Si l'élément de tableau actuel est inférieur au premier plus grand mais est
        #plus grand que le deuxième plus grand alors faites-le deuxième plus grand
        max2 = tab[i]

print("Premier plus grand = " , max1)
print("Deuxième plus grand =" , max2)
                                        

Exercice 6

Écrivez un programme pour déclarer un tableau, puis saisissez ses éléments à partir de l'utilisateur et comptez le nombre d'éléments pairs et impairs dans ce tableau

Exemple :
Données d'entrée 
  • Saisir le nombre d'éléments : 5
  • Elément 1 : 3
  • Elément 2 : 7
  • Elément 3 : 4
  • Elément 4 : 9
  • Elément 5 : 8

Données de sortie
  • Nombre d'éléments pairs : 2
  • Nombre d'éléments impairs : 3
Corrigé
import java.util.Scanner;

public class Test {
    public static void main(String[] variables) {
        Scanner clavier = new Scanner(System.in);

        int N, i, pair, impair;
        int tab[];

        // Saisir la taille actuelle du tableau */
        System.out.print("Saisir le nombre d'éléments : ");
        N = clavier.nextInt();

        // intialiser la taille du tableau tab avec N
        tab = new int[N];

        // Saisir les éléments du tableau tab */
        for (i = 0; i < N; i++) {
            System.out.print("Elément " + (i + 1) + " : ");
            tab[i] = clavier.nextInt();
        }

        // En supposant qu'il y a 0 éléments pairs et impairs
        pair = 0;
        impair = 0;

        for (i = 0; i < N; i++) {
            // Si l'élément courant du tableau est pair, incrémenter le nombre pair
            if (tab[i] % 2 == 0) {
                pair++;
            } else {
                impair++;
            }
        }

        System.out.println("Total des éléments pairs: " + pair);
        System.out.println("Total des éléments impairs : " + impair);

        // fermer les ressources
        clavier.close();
    }
}

                                        
#include <stdio.h>

#define TAILLE_MAX 1000 // La taille maximale

int main()
{
    int tab[TAILLE_MAX];
    int i, N, pair, impair;

    /* Saisir la taille actuelle du tableau  <  TAILLE_MAX */
    printf("Saisir le nombre d'éléments : ");
    scanf("%d", &N);

    /* Saisir les éléments du tableau tab */

    for(i=0; i<N; i++)
    {
        printf("Elément %d", i+1);
        scanf("%d", &tab[i]);
    }

    /* En supposant qu'il y a 0 éléments pairs et impairs */
    pair = 0;
    impair  = 0;

    for(i=0; i<N; i++)
    {
        /* Si l'élément courant du tableau est pair, incrémenter le nombre pair */
        if(tab[i]%2 == 0)
        {
            pair++;
        }
        else
        {
            impair++;
        }
    }

    printf("Total des éléments pairs: %d\n", pair);
    printf("Total des éléments impairs : %d", impair);

    return 0;
}
                                        
# Saisir la taille actuelle du tableau
N = int(input("Saisir le nombre d'éléments : "))

# intialiser la taille de tableau avec N
tab=[0]*N

# Saisir les éléments du tableau source
for i in range(N):
    tab[i]=int(input("Saisir l'élement {0} : ".format(i+1)))


# En supposant qu'il y a 0 éléments pairs et impairs
pair = 0
impair = 0

for i in range(N):
    # Si l'élément courant du tableau est pair, incrémenter le nombre pair
    if (tab[i] % 2 == 0):
        pair+=1
    else:
        impair+=1

print("Total des éléments pairs: ",pair)
print("Total des éléments impairs : " ,impair)
                                        

Exercice 7

Écrivez un programme pour déclarer deux tableaux, puis entrez les éléments du premier tableau de l'utilisateur et copiez tous ses éléments dans le deuxième tableau

Exemple :
Données d'entrée 
  • Saisir le nombre d'éléments : 5
  • Elément 1 : 3
  • Elément 2 : 7
  • Elément 3 : 4
  • Elément 4 : 9
  • Elément 5 : 8

Données de sortie
  • Les éléments du tableau source sont : 3, 7, 4, 9, 8
  • Les éléments du tableau dest sont : 3, 7, 4, 9, 8
Corrigé
import java.util.Scanner;

public class Test {
    public static void main(String[] variables) {
        Scanner clavier = new Scanner(System.in);

        int N, i;
        int source[], dest[];

        // Saisir la taille actuelle du tableau */
        System.out.print("Saisir le nombre d'éléments : ");
        N = clavier.nextInt();

        // intialiser la taille des tableaux avec N
        source = new int[N];
        dest = new int[N];

        // Saisir les éléments du tableau source */
        for (i = 0; i < N; i++) {
            System.out.print("Elément " + (i + 1) + " : ");
            source[i] = clavier.nextInt();
        }

        /*
         * Copier tous les éléments du tableau source vers le tableau dest
         */
        for (i = 0; i < N; i++) {
            dest[i] = source[i];
        }

        /*
         * Afficher tous les éléments du tableau source
         */
        System.out.println("\nLes éléments du tableau source sont : ");
        for (i = 0; i < N; i++) {
            System.out.print(source[i] + ", ");
        }

        System.out.println();
        /*
         * Afficher tous les éléments du tableau dest
         */
        System.out.println("\nLes éléments du tableau dest sont : ");
        for (i = 0; i < N; i++) {
            System.out.print(dest[i] + ", ");
        }

        // fermer les ressources
        clavier.close();
    }
}

                                        
#include <stdio.h>
#define TAILLE_MAX 100

int main()
{
    int source[TAILLE_MAX], dest[TAILLE_MAX];
    int i, N;

    /* Saisir la taille actuelle du tableau  <  TAILLE_MAX */
    printf("Saisir le nombre d'éléments : ");
    scanf("%d", &N);

    /* Saisir les éléments du tableau tab */

    for(i=0; i<N; i++)
    {
        printf("Elément %d", i+1);
        scanf("%d", &tab[i]);
    }

    /*
     * Copier tous les éléments du tableau source vers le tableau dest
     */
    for(i=0; i<N; i++)
    {
        dest[i] = source[i];
    }

    /* 
     * Afficher tous les éléments du tableau source
     */
    printf("\nLes éléments du tableau source sont : ");
    for(i=0; i<N; i++)
    {
        printf("%d\t", source[i]);
    }

    /*
     * Afficher tous les éléments du tableau source
     */
    printf("\nLes éléments du tableau dest sont : ");
    for(i=0; i<N; i++)
    {
        printf("%d\t", dest[i]);
    }

    return 0;
}
                                        
# Saisir la taille actuelle du tableau
N = int(input("Saisir le nombre d'éléments : "))

# intialiser la taille des tableaux avec N
source=[0]*N
dest=[0]*N

# Saisir les éléments du tableau source
for i in range(N):
    source[i]=int(input("Saisir l'élement {0} : ".format(i+1)))


#Copier tous les éléments du tableau source vers le tableau dest

for i in range(N):
    dest[i] = source[i]

#Afficher tous les éléments du tableau source
print("Les éléments du tableau source sont : ")
for i in range(N):
    print(source[i], end=", ")

print()
#Afficher tous les éléments du tableau dest
print("Les éléments du tableau dest sont : ")
for i in range(N):
    print(dest[i], end=", ")
                                        

Partager ce cours avec tes amis :

Rédigé par M. ESSADDOUKI

Many people realize their hearts desires late in life. Continue learning, never stop striving and keep your curiosity sharp, and you will never become too old to appreciate life.

0 Commentaire(s)

Pour laisser un commentaire vous devez avoir un compte Inscription, ou Se connecter