C/C++-Übungen für Einsteiger

Remove Duplicate Values

Diese Einsteigerübung trainiert grundlegende Syntax und Problemlösung anhand von Remove Duplicate Values.

Was ist Remove Duplicate Values?

Diese Einsteigerübung trainiert grundlegende Syntax und Problemlösung anhand von Remove Duplicate Values.

Löse Remove Duplicate Values mit ausführbarem Code in C und C++.

Wichtige Punkte

  • Aktiviere Compiler-Warnungen und behebe sie vollständig.
  • Kenne Typ und Lebensdauer jedes Werts.
  • Prüfe Eingaben und Array-Grenzen explizit.

Codebeispiele in C und C++

C
Code ausführen →
main.c
#include <stdio.h>
int main(void) {
    int input[] = {1, 2, 1, 3, 2, 4}, output[6], size = 0;
    // Keep the first occurrence of every value.
    for (int i = 0; i < 6; ++i) { int seen = 0; for (int j = 0; j < size; ++j) if (output[j] == input[i]) seen = 1; if (!seen) output[size++] = input[i]; }
    for (int i = 0; i < size; ++i) printf("%s%d", i ? " " : "", output[i]); puts("");
}
Erwartete Ausgabe
1 2 3 4
C++
Code ausführen →
main.cpp
#include <iostream>
#include <unordered_set>
#include <vector>
int main() {
    std::vector input{1, 2, 1, 3, 2, 4}; std::vector<int> output; std::unordered_set<int> seen;
    // Insert returns true only for the first occurrence.
    for (int value : input) if (seen.insert(value).second) output.push_back(value);
    for (size_t i = 0; i < output.size(); ++i) std::cout << (i ? " " : "") << output[i]; std::cout << '\n';
}
Erwartete Ausgabe
1 2 3 4

Vergleich zwischen C und C++

Vergleiche die C- und C++-Implementierung, ändere die Eingaben und teste zusätzliche Randfälle.

C

C stellt kleine prozedurale APIs und Repräsentationsdetails offen dar.

C++

C++ behält das Low-Level-Modell und ergänzt sicherere Bibliothekstypen.

Übungsaufgaben

Führe beide Versionen aus und untersuche die unterschiedlichen Garantien.

  • Füge ungültige und Grenzwerte hinzu.
  • Kompiliere mit -Wall -Wextra -Wpedantic.
  • Teile Deklaration und Implementierung auf.