zwei Arrays vergleichen

Gast #4111903
Lesenswert?
• ▲
▼
hallöchen,
ist es irgendwie möglich, den Inhalt eines Arrays zu vergleichen?
Dabei ist ein Array vorgegeben

unsigned int Array1[5] = {1,2,3,4,5};
unsigned int Array2[5] = {0,0,0,0,0};

folgend wird Array 2 mit den werten beschrieben. Dabei ist die 
Reihenfolge jedoch unterschiedlich. Auch muss Array2 nicht unbedingt 5 
mal beschreiben werden. zum Schluss könnte Array2 wie folgt aussehen
Array2{2,5,3,4,1};
oder auch
Array2{2,5,3,0,0};

Jetzt möchte ich Array2 mit Array1 vergleichen. Aber wie gesagt, nur den 
Inhalt. Alsow beim ersten beispiel wäre der Array gleich. beim zweiten 
jedoch nciht.

bisher habe ich so etwas immer in einer forschleife gemacht, also
for(i=0,i<=5,i++){
  if(Arraay1[i]==Array2[i]){
    ...
  }
}
Das kann ich ja aber hier nicht machen, da die Reihenfolge ja verkehrt 
sein darf.

gibt es da noch andere Alternativen?

Sophia

das kann ich ja aber hier nicht anwenden
Gast #4111908
Lesenswert?
• ▲
▼
sophia schrieb:
> ist es irgendwie möglich, den Inhalt eines Arrays zu vergleichen?

Nein. Verabschiede dich von dieser abstrusen Idee. Da sind die besten 
Programmierer bereits dran gescheitert. Leider...

Ironie aus

sophia schrieb:
> bisher habe ich so etwas immer in einer forschleife gemacht, also
> for(i=0,i<=5,i++){
>   if(Arraay1[i]==Array2[i]){
>     ...
>   }
> }
> Das kann ich ja aber hier nicht machen, da die Reihenfolge ja verkehrt
> sein darf.

Wenn man auch nur EINE Sekunde überlegt, kommt man auf die Idee, dass 
man eine zweite Zählvariable mit Schleife nimmt (auch als Anfänger):

for(i=0;i<=5;i++){
  for (j=0; j<=5; j++) {
      if(Array1[i]==Array2[j]){
      // Funktion
      }
  }
}

Fertig...

Richt irgendiwe nach Troll (auch durch die Schreibfehler im Code)
Gast #4111965
Lesenswert?
• ▲
▼
Grmpf... schrieb:

> Richt irgendiwe nach Troll

Natürlich, die Anzeichen sind eindeutig:

Fake-Weibchen
Idiotische Einlassung

Ganz klar ein Troll. Oder ein echter weiblicher Vollidiot (sehr, sehr 
unwahrscheinlich).

Das wirklich Interessante ist: sachlich würde das durchaus einen 
Riesenunterschied bedeuten, es macht aber für die korrekte Behandlung 
des Postings eigenartigerweise keinerlei Unterschied....

Lesen, kichern, vergessen...
#4112038
Lesenswert?
• ▲
▼
Zwei beispielhafte Möglichkeiten:

1. kopieren, sortieren, vergleichen

2. Ein weiteres Array3 gleicher Länge zum Markieren anlegen.

Durchsuche Array2 Symbol für Symbol nach den Elementen aus Array1.
Wird ein Symbol in Array2 an Position x gefunden, so prüfe ob Position x 
in Array3 markiert ist.
Wenn nicht markiert, so markiere Position x in Array3 und suche nach dem 
nächsten Symbol.
Wenn markiert, suche weiter.
Wird ein Symbol nicht gefunden, so sind die Arrays im Sinne der 
Definition verschieden.
Waren alle Suchen erfolgreich, so sind die Arrays im Sinne der 
Definition gleich.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.