Menu
Coddy logo textTech

Vektor-Datenfilterung

Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy. Lektion 54 von 56.

challenge icon

Aufgabe

Einfach

Erstellen Sie ein Programm, das ein Datenfilterungssystem implementiert, um bestimmte Zahlen aus einer Sammlung zu extrahieren. Diese Herausforderung testet Ihre Fähigkeit, Vektoren, Iteration, bedingte Logik und Funktionsdesign zu kombinieren, um Daten selektiv zu verarbeiten.

Die folgenden Eingaben werden bereitgestellt:

  • Eine Ganzzahl n, die die Anzahl der Ganzzahlen in der Sammlung darstellt
  • Anschließend n Ganzzahlen, die die zu filternden Zahlen darstellen
  • Eine Ganzzahl threshold, die den Mindestwert für die Filterung darstellt

Ihr Programm sollte:

  1. Eine Funktion namens filterNumbers erstellen, die einen std::vector<int> und einen Ganzzahl-Schwellenwert (threshold) als Parameter entgegennimmt
  2. Die Funktion sollte einen neuen std::vector<int> zurückgeben, der nur die Zahlen aus dem ursprünglichen Vektor enthält, die größer als der Schwellenwert sind
  3. In der Hauptfunktion (main) die Eingabewerte lesen und einen Vektor mit den n Ganzzahlen füllen
  4. Die Funktion filterNumbers mit dem gefüllten Vektor und dem Schwellenwert aufrufen
  5. Zuerst die Anzahl der gefilterten Zahlen ausgeben und dann jede gefilterte Zahl in einer separaten Zeile ausgeben

Verwenden Sie das folgende exakte Ausgabeformat:

Erste Zeile - Anzahl der gefilterten Zahlen:

Filtered count: [number_of_filtered_elements]

Dann jede gefilterte Zahl in separaten Zeilen:

[filtered_number_1]
[filtered_number_2]
...

Wenn keine Zahlen den Filter passieren, geben Sie nur Folgendes aus:

Filtered count: 0

Denken Sie daran, dass Ihre Funktion filterNumbers einen neuen leeren Vektor erstellen, den Eingabevektor mit einer bereichsbasierten for-Schleife (range-based for loop) durchlaufen und eine if-Anweisung verwenden sollte, um jede Zahl gegen den Schwellenwert zu prüfen. Nur Zahlen, die strikt größer als der Schwellenwert sind, sollten mit push_back() zum Ergebnisvektor hinzugefügt werden. Die Funktion sollte den neuen Vektor zurückgeben, der nur die gefilterten Elemente enthält.

Probier es selbst

#include <iostream>
#include <vector>
using namespace std;

// TODO: Erstellen Sie hier die Funktion filterNumbers

int main() {
    // Anzahl der Ganzzahlen einlesen
    int n;
    cin >> n;
    
    // Die Ganzzahlen in einen Vektor einlesen
    vector<int> numbers;
    for (int i = 0; i < n; i++) {
        int num;
        cin >> num;
        numbers.push_back(num);
    }
    
    // Den Schwellenwert einlesen
    int threshold;
    cin >> threshold;
    
    // TODO: Rufen Sie die Funktion filterNumbers auf und speichern Sie das Ergebnis
    
    // TODO: Geben Sie die gefilterte Anzahl und die Zahlen gemäß dem erforderlichen Format aus
    
    return 0;
}

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-C++-Compiler