Code in C, der gleiche Zahlen auflistet?
Das ist mein aktueller Code: #include <stdio.h> #include <stdlib.h> size_t copy_duplicates(int dst[], const int src[], size_t len) { size_t num_duplicates = 0; // Zählvariable für Duplikate for (size_t i = 0; i < len - 1; i++) { size_t count = 1; // Anzahl der Vorkommen des aktuellen Elements for (size_t j = i + 1; j < len; j++) { if (src[i] == src[j]) { count++; // Zähle die Anzahl der Vorkommen } } // Kopiere das aktuelle Element entsprechend seiner Anzahl der Vorkommen for (size_t k = 0; k < count - 1; k++) { dst[num_duplicates++] = src[i]; } } return num_duplicates; // Gib die Anzahl der Duplikate zurück } int main() { const int src[] = { 5, 2, 5, 7, -7, 3 }; int dst[50]; size_t num_duplicates = copy_duplicates(dst, src, sizeof(src) / sizeof(src[0])); printf("%zu\t", num_duplicates); printf("{"); for (size_t i = 0; i < num_duplicates; i++) { printf("%d%s", dst[i], (i < num_duplicates - 1) ? "," : ""); } printf("}\n"); return EXIT_SUCCESS; } Er gibt mir aber erst wenn ich mehr als zwei gleiche Zahlen eingebe, die richtige Ausgabe aus. Ich möchte, dass ich beispielsweise bei const int src[] = { 5, 2, 5, 7, -7, 3 }; in der Ausgabe 2 für die Anzahl gleicher Zahlen und dann { 5, 5 } für die Zahlen die mehrmals vorkommen. Bis jetzt kommt bei mir immer nur { 5 } in der Ausgabe heraus.