# Reihen



## Stack (7. Apr 2009)

Hi,

stehe vor einem Problem was ich mit Java nicht hinbekomme. 
Mir fehlen noch sämtliche Java Kenntnisse. 
Ich bitte an der Stelle um Hilfe. 
Es geht um folgendes. Es sind einzelne Buchstabenreihen die untereinander angeordnet sind. 

beispielsweise: 

h,r,t,w,e, r,t,z 
q,r,t,z,u,i,y,c,v 
f,t,z,r,e,w,w,d,f 
o,p,u,z,h,g,f,d,w 
w,a,s,d,f,r,e,w,e 
z,u,i,o,e,r,t,z,u 
usw..... 


Es geht los mit der ersten Reihe. 

Aus einer Menge von Permuationen die Buchstabenreihen 
herauszufinden, welche alle Reihen der Permutaiton in mindestens 4 Buchstaben abdecken. 
Beginnen tut man mit der ersten Reihe (=Startreihe) 
der Permuation z.B. q,r,t,z,u,i,y,c,v und merkt alle Reihen, die in vier 
Buchstaben mit der Startreihe übereinstimmen. Man betrachtet dann die restlichen übrigen Reihen und nimmt eine davon als Zweit-Start-Reihe. Man merkt wieder alle Reihen aus den übrig gebliebenen Reihen der Permuation, die in vier Buchstaben mit der Zweit-Start-Reihe übereinstimmen. 

Man wiederholt diesen Vorgang, bis keine Reihen mehr übrig sind. 

Wie kann ich das mit Java umsetzten? 

Viele Grüße 
Stack


----------



## ARadauer (7. Apr 2009)

hier wird dir keiner deine hausübung machen... du must schon etwas eigeninitiative zeigen...


----------



## hdi (7. Apr 2009)

Also vllt bin ich ja grad noch nicht ganz wach... Aber ich verstehe echt nicht was du tun willst. Irgendwie fehlen mir da Kommas und Punkte zwischen den Sätzen. Was ist die Menge deiner Permutationen. Wovon?

Also... zu der Wiederholung: siehe for-schleife / while-schleife
Für die Reihen: siehe Array, in diesem Fall: char[]


----------



## Stack (7. Apr 2009)

ganz vereinfacht gesagt  muss jede Reihe durchlaufen werden und dabei verglichen ob 4
Buchstaben von jener Reihe die als Startreihe dran ist in der nächsten Reihe vorkommen
oder nicht. Wenn ja diese Reihe Merken. Und das selbe mit der nächsten Reihe bis keine mehr 
übrig bleibt.


Grüße
Stack


----------



## hdi (7. Apr 2009)

Tut mir leid aber ich versteh's noch immer nicht 



> ganz vereinfacht gesagt muss jede Reihe durchlaufen werden


Von welchen Reihen redest du jetzt? So wie ich das jetzt verstehe hast du zwei Mengen von Reihen?



> und dabei verglichen ob 4 Buchstaben von jener Reihe die als Startreihe dran ist in der nächsten Reihe vorkommen oder nicht.


Was ist die _nächste_ Reihe?



> Wenn ja diese Reihe Merken. Und das selbe mit der nächsten Reihe bis keine mehr
> übrig bleibt.


Selbe Frage... Also, kannst du nochmal ein konkretes Bsp nennen? Ich versteh einfach nich was du nun mit was vergleichen willst.


----------



## Stack (7. Apr 2009)

z.B hier gibt es 6 Reihen

h,r,t,w,e, r,t,z    Reihe 1
q,r,t,z,u,i,y,c,v   Reihe 2
f,t,z,r,e,w,w,d,f  Reihe 3
o,p,u,z,h,g,f,d,w  Reihe 4
w,a,s,d,f,r,e,w,e  Reihe 5
z,u,i,o,e,r,t,z,u    Reihe 6


----------



## hdi (7. Apr 2009)

Ja okay.

So eine Reihe lässt sich wie schon gesagt durch ein char-Array darstellen.
Dann machst du dir aus diesen char-Arrays wiederum ein Array, dass diese char-Arrays speichert.

char[][] reihen

mittels einer for-schleife kannst du dir jeden Buchstaben in einer Reihe ankuckne und mit jedem Buchstaben der nächsten Reihe vergleichen. Sobald du 4 gleiche gefunden hast, brichst du ab (break), und gehst zur nächsten Reihe.
Speichern kannst du das Matching der Reihen indem du dir zB einfach den Index merkst, natürlich kannst du dir nochmal ne eigene Liste/Array dafür erstellen.

Also kurz und knapp: Wir machen hier keine Hausaufgaben, d.h. es gibt keinen Code solange du nicht selber mit etwas kommst. Wenn du keine Ahunung hast von Java, dann sind eben folgende Themen für dich wichtig:

1) Datentyp "char"
2) Arrays
3) 2D-Arrays
4) for-Schleife

Google hilft, und du kannst auch mal in unsere FAQ-Abteilung sehen (Link oben)  Viel Spass beim Programmieren!


----------



## Stack (7. Apr 2009)

hi du scheinst dich mit java gut auszukennen. Leider ich aber nicht.

Kannst du mir vielleicht so eine Art Ppseudocode zusammen stellen. Kann damit

eher etwas anfangen. Wäre Dir sehr dankbar. Bin sogar bereit dafür etwas zu zahlen.

Grüße
STack


----------



## Marco13 (7. Apr 2009)

Wie wär's: Wenn's an Java hängt, schreibst DU den Pseudocode (so Java-nah wie es dir möglich ist), und syntatktische Details klären wir dann. Wenn du dazu nich bereit bist, hängt es an ganz anderen Sachen, und die Konsequenzen wären..... tja.


----------



## Stack (7. Apr 2009)

marco13 wie bist du unterwegs


----------



## Ebenius (7. Apr 2009)

In aller Regel ist es so, dass nicht das Forum die Arbeit für Dich erledigt, sondern Dich dabei unterstützt, sie zu erledigen. Nur die Aufgabe zu beschreiben ist ein bisschen wenig Arbeitseinsatz. Oder habe ich da etwas falschverstanden (lasse mich gern überzeugen).

Hast Du denn schon irgendeinen Ansatz, wie Du das in Java programmieren würdest? Wenn Du von der Sprache gar nichts versteht, ist ein Forum (leider) für Dich der falsche Ort. Dann solltest Du mit einem Tutorial oder Buch beginnen, etwas über die Sprache zu lernen. Danach / während dessen kannst Du Dich dann auch qualifizierter der Aufgabe widmen.

Ebenius


----------



## hdi (7. Apr 2009)

Ich sagte ja schon: Google nach for-Schleife und char. Damit, und mit deinem Gehirn (die Aufgabe an sich ist ja rein von der Logik her nicht allzu schwer) wirst du Pseudo-Code, bzw. nicht kompilierbaren Java-Code erzeugen.

Den kannste hier dann posten und wir gehen mit dir die Fehler darin durch.



> Bin sogar bereit dafür etwas zu zahlen.


Hör auf mit dem Quatsch! Das ist für jeden, der sich ein paar Tage mit Java beschäftigt hat, eine Sache von 5 Minuten. Lass dich nicht verarschen...


----------



## 0x7F800000 (7. Apr 2009)

> Es geht los mit der ersten Reihe.
> 
> Aus einer Menge von Permuationen die Buchstabenreihen
> herauszufinden, welche alle Reihen der Permutaiton in mindestens 4 Buchstaben abdecken.
> ...


Im zweiten Satz habe ich beim mehrmaligen Durchlesen kein Prädikat entdecken können. Außerdem hast du dich im Wort "Permutation" vier mal auf drei verschiedene Arten verschrieben, und zudem sehe ich keinen Zusammenhang mit dem restlichen Kontext. Was ist die Aufgabe, kannst du wenigstens das irgendwie verständlich erklären (oder irgendjemand anders, falls er meint, er habe die Aufgabenstellung verstanden) ???:L


----------



## hdi (7. Apr 2009)

Ich glaube er meint einfach:

1.Reihe vergleichen mit 2.3.4.5.6. Reihe, dann
2.Reihe vergleichen mit 3.4.5.6. Reihe, usw.

Oder auch nicht ^^


----------



## 0x7F800000 (7. Apr 2009)

hdi hat gesagt.:


> 1.Reihe vergleichen mit 2.3.4.5.6. Reihe, dann
> 2.Reihe vergleichen mit 3.4.5.6. Reihe, usw.


dich verstehe ich grad ebensowenig. :bahnhof: gibt es hier so viel stress damit equals aufzurufen, oder was ist hier los? :noe: kann doch nich sein, dafür war die aufgabenstellung viel zu lang und unverständlich...


----------



## Stack (9. Apr 2009)

hdi hat gesagt.:


> Ich glaube er meint einfach:
> 
> 1.Reihe vergleichen mit 2.3.4.5.6. Reihe, dann
> 2.Reihe vergleichen mit 3.4.5.6. Reihe, usw.
> ...




ja das meine ich


----------



## hdi (9. Apr 2009)

Okay, und schon was gelesen? Also 

[HIGHLIGHT="Java"]char einBuchstabe = 'a';
char nochEiner = 'b';
char[] eineReihe = new char[2]; // hat hier nur 2 Buchstaben
eineReihe[0] = einBuchstabe; // lege 'a' vorne in die Reihe
eineReihe[1] = nochEiner; // lege 'b' nach 'a' in die Reihe[/HIGHLIGHT]

So erstellst du ein Array von Buchstaben. Du musst jetzt noch wissen, was eine for-Schleife ist.


----------

