Zusammenfassung – Eindeutige Zahlen
Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy — Lektion 40 von 56.
Aufgabe
EinfachErstellen Sie ein Programm, das eine Reihe von Ganzzahlen einliest und ein std::set verwendet, um Duplikate automatisch herauszufiltern, und anschließend die Anzahl der eindeutigen Zahlen ausgibt. Dies demonstriert den Hauptvorteil von Sets – das Verwalten von Sammlungen eindeutiger Elemente ohne manuelle Duplikatprüfung.
Die folgenden Eingaben werden bereitgestellt:
- Eine Ganzzahl
n, die angibt, wie viele Zahlen eingegeben werden - Anschließend
nzu verarbeitende Ganzzahlen
Ihr Programm sollte:
- Ein leeres
std::set<int>erstellen - Die Anzahl der einzugebenden Ganzzahlen einlesen
- Eine Schleife verwenden, um jede Ganzzahl einzulesen und sie mit der Methode
.insert()in das Set einzufügen - Nach der Verarbeitung aller Zahlen die Methode
.size()verwenden, um die Anzahl der eindeutigen Zahlen zu ermitteln - Das Ergebnis ausgeben, das zeigt, wie viele eindeutige Zahlen gefunden wurden
Verwenden Sie das folgende exakte Ausgabeformat:
Unique numbers: [count]Das Set übernimmt die Duplikatentfernung automatisch – wenn Sie versuchen, eine bereits vorhandene Zahl einzufügen, ignoriert das Set das doppelte Einfügen. Das bedeutet, dass Sie Duplikate nicht manuell prüfen müssen; fügen Sie einfach alle Zahlen ein und lassen Sie das Set die Eindeutigkeit für Sie verwalten. Die endgültige Größe des Sets entspricht genau der Anzahl der verschiedenen Zahlen in der Eingabe.
Probier es selbst
#include <iostream>
#include <set>
using namespace std;
int main() {
// Lies die Anzahl der Ganzzahlen ein
int n;
cin >> n;
// Erstelle ein leeres Set, um eindeutige Ganzzahlen zu speichern
set<int> uniqueNumbers;
// TODO: Schreibe deinen Code hier
// Verwende eine Schleife, um n Ganzzahlen einzulesen und sie in das Set einzufügen
// Gib das Ergebnis aus
cout << "Unique numbers: " << uniqueNumbers.size() << endl;
return 0;
}Alle Lektionen in Logik & Ablauf
1Pointer und Speicher
Was ist ein Pointer?AdressoperatorDereferenzierungsoperatorNull-PointerPointer und ArraysDynamischer Speicher mit 'new'Speicher freigeben mit 'delete'Zusammenfassung – Pointer-Übung2Vektoren (Dynamische Arrays)
Einführung in std::vectorEinen Vector erstellenElemente hinzufügenAuf Elemente zugreifenVector-GrößeIterieren mit einer For-SchleifeRange-based For-SchleifeElemente entfernenZusammenfassung – Vector-Operationen3Projekt: Aufgabenlisten-Tool
ProjektübersichtEine Aufgabe hinzufügen6Sets (Eindeutige Elemente)
Einführung in std::setSet erstellen & Elemente hinzufügenAuf Elemente prüfenElemente entfernenÜber ein Set iterierenZusammenfassung – Eindeutige Zahlen