Encontrando a Linha com Mais Pares em uma Matriz 2D

C++Beginner
Pratique Agora

Introdução

Neste laboratório, vamos escrever um programa em C++ que encontra a linha em um array que inclui a maior quantidade de números pares. Usaremos um array bidimensional (2-Dimensional array).

Declarar as variáveis necessárias

Vamos criar um novo arquivo chamado main.cpp no diretório ~/project usando o seguinte comando:

touch ~/project/main.cpp

Começaremos declarando as variáveis necessárias, que incluem a, n, l, i, j e count.

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

Obter o tamanho da matriz e o número da linha

Em seguida, obteremos o tamanho da matriz e o número da linha do usuário. Usaremos a função cin para obter os valores de entrada do usuário.

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

Verificar a validade da entrada do usuário

Verificaremos a validade da entrada do usuário, checando se n está dentro dos limites do tamanho da matriz. Se não estiver, exibiremos uma mensagem de erro e sairemos do programa.

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);
}

Obter os valores da matriz

Usaremos loops for aninhados para obter os valores da matriz do usuário.

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

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

Encontrar a linha com a maior quantidade de números pares

Usaremos um loop for para iterar pela linha e contar a quantidade de números pares. Se o número atual for par, incrementaremos a variável count.

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

Exibir os resultados

Exibiremos os valores da linha e a quantidade de números pares nessa linha.

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;

Compilar e executar o programa

Compilaremos o programa usando o compilador g++ e o executaremos no terminal.

g++ main.cpp -o main
./main
Código completo
#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;
}

Resumo

Neste laboratório, aprendemos como implementar um programa em C++ para encontrar a linha em uma matriz bidimensional que inclui a maior quantidade de números pares. Conseguimos isso criando um conjunto de variáveis e usando loops para iterar pela matriz. Usamos instruções condicionais para exibir os resultados do programa.