c++ array
-
Dieser Beitrag wurde gelöscht!
-
Was meinst du mit "geht nicht"? Bitte stell genaue Fragen! Wir können nicht in deinen Kopf gucken, was du mit "geht nicht" meinst.
Dein Codeschnippsel wird, nachdem man das fehlende Gerüst ergänzt, jedenfalls korrekt ein doppeltes Wort ausgeben. Problematisch wird er, wenn es keine Doppelung gibt, oder mehrere. Aber das scheint nicht dein Problem zu sein. Daher: Vollständiger Code, vollständige Problembeschreibung!
Wenn ich rate, würde ich darauf tippen, dass du den Header
string
nicht included hast. Kann man halt ohne vollständigen Code oder Fehlerbeschreibung nicht sagen.
-
mit diesem code gelingt es mir nicht wenn ich zum beispiel: anna, lorenz, david, anna eingebe das ich anna rausbekomme weil das if nicht funkzioniert
`#include <iostream> using namespace std; int main(){ string name[5], gleich; int n = 1; for (int i = 0; i < 5; i++) { cout << "Input name " << n << endl; cin >> name[i]; n++; } for (int k = 0; k < 5; k++) { for (int j = 1; j < 5; j++) { if (name[k] == name[j]) { gleich = name[k]; } } } cout << "gleicher name: " << gleich; }
-
consolen output:
Input name 1
anna
Input name 2
lorenz
Input name 3
david
Input name 4
anna
Input name 5
jakob
gleicher name: jakob
-
if (name[k] == name[j]) {
https://www.cplusplus.com/reference/string/string/compare/
if ( name[k].compare(name[j]) == 0 )
-
for (int k = 0; k < 5; k++) { for (int j = 1; j < 5; j++) {
Die äußere Schleife läuft von 0 bis 4, die innere von 1 bis 4. Daher ist beispielsweise auch 4 und 4 eine Kombination, die geprüft wird. name[4] ist bei dir 'jakob', und 'jakob' ist gleich 'jakob'. Fang j mal bei k+1 anstatt bei 1 an, dann ist j niemals gleich k und du kommst einer Lösung schon näher.
-
@SeppJ danke du hast mir sehr geholfen, es funktioniert einwandfrei Lg
-
edit :Hier stand etwas hilfreiches, aber ich habe es gelöscht, so wie du deine Beiträge. Tschüss!
-
if (name[k] == name[j]) {
https://www.cplusplus.com/reference/string/string/compare/
if ( name[k].compare(name[j]) == 0 )
Gibts einen Fall, wo das zu unterschiedlichen Ergebnissen führt?
-
if (name[k] == name[j]) {
https://www.cplusplus.com/reference/string/string/compare/
if ( name[k].compare(name[j]) == 0 )
Gibts einen Fall, wo das zu unterschiedlichen Ergebnissen führt?
Der Standard definiert sogar, dass
==
(und die anderen Vergleichoperatoren) mittelscompare
implementiert werden sollen.
-
Dieser Beitrag wurde gelöscht!
Dieser Beitrag wurde gelöscht!
Dieser Beitrag wurde gelöscht!
Dieser Beitrag wurde gelöscht!
Oh, ein echter Kevin O.o