Das größte geradzahlige Element in einem zweidimensionalen Array finden

C++Beginner
Jetzt üben

Einführung

In diesem Lab schreiben wir ein C++-Programm, das die Zeile in einem Array findet, die die größte Anzahl von geraden Zahlen enthält. Wir werden ein zweidimensionales Array verwenden.

Notwendige Variablen deklarieren

Wir erstellen eine neue Datei namens main.cpp im Verzeichnis ~/project mit dem folgenden Befehl:

touch ~/project/main.cpp

Wir beginnen, indem wir die erforderlichen Variablen deklarieren, die a, n, l, i, j und count umfassen.

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

Größe der Matrix und Zeilennummer abrufen

Als nächstes erhalten wir die Größe der Matrix und die Zeilennummer von der Benutzerschaft. Wir verwenden die cin-Funktion, um Benutzereingabewerte zu erhalten.

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

Überprüfen der Gültigkeit der Benutzereingabe

Wir überprüfen die Gültigkeit der Benutzereingabe, indem wir überprüfen, ob n innerhalb der Grenzen der Matrixgröße liegt. Wenn nicht, wird eine Fehlermeldung angezeigt und das Programm beendet.

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

Matrixwerte abrufen

Wir verwenden geschachtelte for-Schleifen, um die Matrixwerte von der Benutzerschaft abzurufen.

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

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

Zeile mit der größten Anzahl von geraden Zahlen finden

Wir verwenden eine for-Schleife, um durch die Zeile zu iterieren und die Anzahl der geraden Zahlen zu zählen. Wenn die aktuelle Zahl gerade ist, erhöhen wir die Variable count.

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

Ergebnisse ausgeben

Wir werden die Zeilenwerte und die Anzahl der geraden Zahlen in dieser Zeile ausgeben.

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;

Programm kompilieren und ausführen

Wir werden das Programm mit dem Compiler g++ kompilieren und es im Terminal ausführen.

$ g++ main.cpp -o main
$./main
Vollständiger Code
#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;
}

Zusammenfassung

In diesem Lab haben wir gelernt, wie man ein Programm in C++ implementiert, um die Zeile in einem zweidimensionalen Array zu finden, die die größte Anzahl von geraden Zahlen enthält. Wir haben dies erreicht, indem wir eine Reihe von Variablen erstellt und Schleifen verwendet haben, um durch das Array zu iterieren. Wir haben bedingte Anweisungen verwendet, um die Ergebnisse des Programms auszugeben.