Recherche de la ligne avec le plus grand nombre de nombres pairs dans un tableau 2D

C++C++Beginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons écrire un programme C++ qui trouve la ligne dans un tableau qui contient le plus grand nombre de nombres pairs. Nous allons utiliser un tableau à deux dimensions.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp/BasicsGroup -.-> cpp/variables("Variables") cpp/BasicsGroup -.-> cpp/data_types("Data Types") cpp/BasicsGroup -.-> cpp/operators("Operators") cpp/BasicsGroup -.-> cpp/arrays("Arrays") cpp/ControlFlowGroup -.-> cpp/conditions("Conditions") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") subgraph Lab Skills cpp/variables -.-> lab-96118{{"Recherche de la ligne avec le plus grand nombre de nombres pairs dans un tableau 2D"}} cpp/data_types -.-> lab-96118{{"Recherche de la ligne avec le plus grand nombre de nombres pairs dans un tableau 2D"}} cpp/operators -.-> lab-96118{{"Recherche de la ligne avec le plus grand nombre de nombres pairs dans un tableau 2D"}} cpp/arrays -.-> lab-96118{{"Recherche de la ligne avec le plus grand nombre de nombres pairs dans un tableau 2D"}} cpp/conditions -.-> lab-96118{{"Recherche de la ligne avec le plus grand nombre de nombres pairs dans un tableau 2D"}} cpp/for_loop -.-> lab-96118{{"Recherche de la ligne avec le plus grand nombre de nombres pairs dans un tableau 2D"}} cpp/output -.-> lab-96118{{"Recherche de la ligne avec le plus grand nombre de nombres pairs dans un tableau 2D"}} cpp/user_input -.-> lab-96118{{"Recherche de la ligne avec le plus grand nombre de nombres pairs dans un tableau 2D"}} end

Déclarer les variables nécessaires

Nous allons créer un nouveau fichier nommé main.cpp dans le répertoire ~/project en utilisant la commande suivante :

touch ~/project/main.cpp

Nous allons commencer par déclarer les variables nécessaires, qui incluent a, n, l, i, j et count.

int a[10][10], n, l, i, j, count = 0;

Obtenir la taille de la matrice et le numéro de ligne

Ensuite, nous allons obtenir la taille de la matrice et le numéro de ligne à partir de l'utilisateur. Nous utiliserons la fonction cin pour obtenir les valeurs d'entrée de l'utilisateur.

cout << "Enter matrix size(l * l): ";
cin >> l;
cout << "Enter row number of matrix: ";
cin >> n;

Vérifier la validité des entrées de l'utilisateur

Nous allons vérifier la validité des entrées de l'utilisateur en vérifiant si n est dans les limites de la taille de la matrice. Si ce n'est pas le cas, nous afficherons un message d'erreur et sortirons du programme.

if (n < 0 || n > l) {
  cout << "Error: Row exceeds matrix size. Please enter a value > 0 and less than or equal to the size of matrix." << endl;
  exit(0);
}

Obtenir les valeurs de la matrice

Nous utiliserons des boucles for imbriquées pour obtenir les valeurs de la matrice à partir de l'utilisateur.

cout << "Enter the matrix values: " << endl;

for (i = 1; i <= l; i++) {
  for (j = 1; j <= l; j++) {
    cin >> a[i][j];
  }
}

Trouver la ligne avec le plus grand nombre de nombres pairs

Nous utiliserons une boucle for pour parcourir la ligne et compter le nombre de nombres pairs. Si le nombre actuel est pair, nous incrémenterons la variable count.

for (i = 1; i <= l; i++) {
  if (a[n][i] % 2 == 0) {
    count++;
  }
}

Afficher les résultats

Nous allons afficher les valeurs de la ligne et le nombre de nombres pairs dans cette ligne.

cout << "\nRow is given below:\n";

for (i = 1; i <= l; i++) {
  cout << a[n][i] << " ";
}

cout << "\n\nNo. of even numbers in row is: " << count << endl;

Compiler et exécuter le programme

Nous compilerons le programme en utilisant le compilateur g++ et l'exécuterons dans le terminal.

$ g++ main.cpp -o main
$./main
Code complet
#include<iostream>
using namespace std;

int main() {
  int a[10][10], n, l, i, j, count = 0;

  cout << "Enter matrix size(l * l): ";
  cin >> l;
  cout << "Enter row number of matrix: ";
  cin >> n;

  if (n < 0 || n > l) {
    cout << "Error: Row exceeds matrix size. Please enter a value > 0 and less than or equal to the size of matrix." << endl;
    exit(0);
  }

  cout << "Enter the matrix values: " << endl;

  for (i = 1; i <= l; i++) {
    for (j = 1; j <= l; j++) {
      cin >> a[i][j];
    }
  }

  for (i = 1; i <= l; i++) {
    if (a[n][i] % 2 == 0) {
      count++;
    }
  }

  cout << "\nRow is given below:\n";

  for (i = 1; i <= l; i++) {
    cout << a[n][i] << " ";
  }

  cout << "\n\nNo. of even numbers in row is: " << count << endl;

  return 0;
}

Sommaire

Dans ce laboratoire, nous avons appris à implémenter un programme en C++ pour trouver la ligne dans un tableau à deux dimensions qui contient le plus grand nombre de nombres pairs. Nous avons atteint cela en créant un ensemble de variables et en utilisant des boucles pour parcourir le tableau. Nous avons utilisé des instructions conditionnelles pour afficher les résultats du programme.