查找二维数组中包含最多偶数的行

C++Beginner
立即练习

介绍

在本实验中,我们将编写一个 C++ 程序,用于查找包含最多偶数的数组行。我们将使用一个二维数组。

声明必要的变量

我们将在 ~/project 目录下使用以下命令创建一个名为 main.cpp 的新文件:

touch ~/project/main.cpp

我们将从声明必要的变量开始,这些变量包括 anlijcount

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

获取矩阵大小和行号

接下来,我们将从用户那里获取矩阵的大小和行号。我们将使用 cin 函数来获取用户输入的值。

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

检查用户输入的有效性

我们将通过检查 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);
}

获取矩阵值

我们将使用嵌套的 for 循环从用户那里获取矩阵的值。

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

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

查找包含最多偶数的行

我们将使用 for 循环遍历指定行并统计偶数的数量。如果当前数字是偶数,我们将递增 count 变量。

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;

编译并运行程序

我们将使用 g++ 编译器编译程序,并在终端中运行它。

g++ main.cpp -o main
./main
完整代码
#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;
}

总结

在本实验中,我们学习了如何用 C++ 实现一个程序,用于查找二维数组中包含最多偶数的行。我们通过创建一组变量并使用循环遍历数组来实现这一目标。我们还使用了条件语句来输出程序的结果。