Exercice sur les Tableaux en Langage C

Exercice 1
Ecrire un Programme C  permettant de lire deux vecteurs de taille N, puis de faire la somme et d'afficher le resultat.
Exercice 2
Ecrire un Programme C qui realise le produit scalaire d'un vecteur (de reel) et d'un entier.
Exercice 3
Ecrire un Programme C permettant de realiser le produit de deux vecteurs lus en donne.
Exercice 4
Ecrire un Programme C permettant de : Lire 2 matrices de taille NxN, Faire le produit, Afficher le resultat
Exercice 5
Ecrire un Programme C qui affiche la valeur vrai si un nombre NB est egal a la somme de deux elements consecutifs d'un tableau TAB et faux dans le cas contraire. Le nombre NB et le tableau TAB sont lus en donnees.
Exercice 6
Soit un tableau a deux dimensions (NxN) d'entiers.
Ecrire un Programme C qui reconnait si ce tableau est magique ou non. Un tableau est magique si la somme de chacune des deux diagonales, des N lignes et des N colonnes sont toutes egales.

Correction :

1--------

#include <stdio.h>
#define N 10

int main() {
  int n, a[N], b[N], c[N];
 
  printf("Entrer la taille des vecteurs (maximum 10) : ");
  scanf("%d", &n);

  printf("Entrer les éléments du premier vecteur :\n");
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
  }

  printf("Entrer les éléments du deuxième vecteur :\n");
  for (int i = 0; i < n; i++) {
    scanf("%d", &b[i]);
  }

  for (int i = 0; i < n; i++) {
    c[i] = a[i] + b[i];
  }

  printf("La somme des deux vecteurs est :\n");
  for (int i = 0; i < n; i++) {
    printf("%d ", c[i]);
  }
  printf("\n");

  return 0;
}

2)------------

#include <stdio.h>
#define N 10

int main() {
  int n, scalar;
  float a[N], b[N];
 
  printf("Entrer la taille du vecteur (maximum 10) : ");
  scanf("%d", &n);

  printf("Entrer les éléments du vecteur :\n");
  for (int i = 0; i < n; i++) {
    scanf("%f", &a[i]);
  }

  printf("Entrer l'entier : ");
  scanf("%d", &scalar);

  for (int i = 0; i < n; i++) {
    b[i] = a[i] * scalar;
  }

  printf("Le produit scalaire du vecteur et de l'entier est :\n");
  for (int i = 0; i < n; i++) {
    printf("%.2f ", b[i]);
  }
  printf("\n");

  return 0;
}

3)-----------------

il faut d'abord déclarer les deux vecteurs et leur taille. Ensuite, nous allons utiliser une boucle pour lire les éléments de chaque vecteur à partir de l'entrée standard.

Après avoir lu les vecteurs, nous allons utiliser une autre boucle pour effectuer le produit de chaque élément correspondant des deux vecteurs et stocker le résultat dans une variable temporaire. Enfin, nous afficherons le résultat total du produit.

#include <stdio.h>

#define N 100

int main() {
    int vecteur1[N], vecteur2[N];
    int produit = 0, i;

    // Lecture des vecteurs
    for (i = 0; i < N; i++) {
        printf("Entrez l'élément %d du premier vecteur: ", i+1);
        scanf("%d", &vecteur1[i]);
    }

    for (i = 0; i < N; i++) {
        printf("Entrez l'élément %d du second vecteur: ", i+1);
        scanf("%d", &vecteur2[i]);
    }

    // Calcul du produit des vecteurs
    for (i = 0; i < N; i++) {
        produit += vecteur1[i] * vecteur2[i];
    }

    // Affichage du résultat
    printf("Le produit des vecteurs est: %d\n", produit);

    return 0;
}

4)---------

Définir les deux matrices de taille NxN nommées matrix1 et matrix2

Lire les valeurs pour les deux matrices en utilisant une boucle double pour parcourir les lignes et les colonnes.

Initialiser une autre matrice de taille NxN appelée result pour stocker le produit des deux matrices.

Faire le produit des deux matrices en utilisant une boucle triple qui parcourt les lignes de la première matrice, les colonnes de la seconde matrice et les éléments des lignes et des colonnes pour faire le calcul.

Stocker le résultat de chaque multiplication dans la matrice result.

Afficher le résultat en utilisant une boucle double pour parcourir les lignes et les colonnes de la matrice result et afficher les valeurs.

#include <stdio.h>
#define N 100

int main() {
  int a[N][N], b[N][N], c[N][N];
  int i, j, k, somme;

  // Lire les deux matrices
  printf("Entrez les elements de la premiere matrice : \n");
  for (i = 0; i < N; i++) {
    for (j = 0; j < N; j++) {
      scanf("%d", &a[i][j]);
    }
  }
  printf("Entrez les elements de la deuxieme matrice : \n");
  for (i = 0; i < N; i++) {
    for (j = 0; j < N; j++) {
      scanf("%d", &b[i][j]);
    }
  }

  // Calculer le produit des matrices
  for (i = 0; i < N; i++) {
    for (j = 0; j < N; j++) {
      somme = 0;
      for (k = 0; k < N; k++) {
        somme += a[i][k] * b[k][j];
      }
      c[i][j] = somme;
    }
  }

  // Afficher le resultat
  printf("Resultat : \n");
  for (i = 0; i < N; i++) {
    for (j = 0; j < N; j++) {
      printf("%d ", c[i][j]);
    }
    printf("\n");
  }

  return 0;
}

5)----------

#include <stdio.h>
#include <stdbool.h>

int main(void)
{
    int nb, n, tab[100];
    bool trouve = false;
    
    // lecture du nombre NB
    printf("Entrez un nombre : ");
    scanf("%d", &nb);

    // lecture de la taille du tableau TAB
    printf("Entrez la taille du tableau : ");
    scanf("%d", &n);

    // lecture des éléments du tableau TAB
    printf("Entrez les éléments du tableau :\n");
    for (int i = 0; i < n; i++) {
        scanf("%d", &tab[i]);
    }

    // recherche de la somme de deux éléments consécutifs égale à NB
    for (int i = 0; i < n-1; i++) {
        if (tab[i] + tab[i+1] == nb) {
            trouve = true;
            break;
        }
    }

    // affichage du résultat
    if (trouve) {
        printf("Vrai\n");
    } else {
        printf("Faux\n");
    }

    return 0;
}

6)-----------

#include <stdio.h>

#define N 5

int main()
{
  int i, j, sum_diag1 = 0, sum_diag2 = 0, sum_row, sum_col;
  int matrix[N][N];
  int is_magic = 1;

  // Lire la matrice
  printf("Entrez les éléments de la matrice %dx%d:\n", N, N);
  for (i = 0; i < N; i++) {
    for (j = 0; j < N; j++) {
      scanf("%d", &matrix[i][j]);
    }
  }

  // Vérifier la somme des éléments de chaque diagonale
  for (i = 0; i < N; i++) {
    sum_diag1 += matrix[i][i];
    sum_diag2 += matrix[i][N-i-1];
  }

  // Vérifier la somme des éléments de chaque ligne et colonne
  for (i = 0; i < N; i++) {
    sum_row = 0;
    sum_col = 0;
    for (j = 0; j < N; j++) {
      sum_row += matrix[i][j];
      sum_col += matrix[j][i];
    }
    if (sum_row != sum_diag1 || sum_col != sum_diag1) {
      is_magic = 0;
      break;
    }
  }

  // Afficher le résultat
  if (is_magic) {
    printf("La matrice est magique.\n");
  } else {
    printf("La matrice n'est pas magique.\n");
  }

  return 0;
}

Si vous avez trouvé cet exercice corrige en Langage C de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 658395978 | Réaliser Par Joël_Yk

  • 1 vote. Moyenne 1 sur 5.

Ajouter un commentaire

Anti-spam