Array
-
Hi,
ich hab ein Problem, daß nicht ganz leicht zu beschreiben ist. Aber ich versuchs mal.Alos ich hab ein Array in dem stehen die Zahlen 1,5,10,20,30,50,100. wenn 1,1,1,5,5,5,10 hintereinander kommen ist das eine Serie I. Nun möchte ich herausfinden wieviele Serien I im Array sind. Wi stell ich das an?? Ich habe mir überlegt alles in einen String zu schreiben und dann nach 1,1,1,5,5,5,10 zu suchen und das rausschneiden, aber das Array hat 9000 Einträge und ob das dann so sinnvoll ist.. Ach und es soll noch ausgegeben werden wieviel 1er, 5er... im array sind! Kann mir da mal jeand helfen??
-
Ok, was du brauchst ist ein **algorithmus, der also zählt wieviel serien
vorkommen, und wie lang diese sind. du wirst aber wohl auch wissen wollen ob
es einer 1 er serie ist oder eine 5er 10 er usw.hm, also, du müsstest eine variable solange hochzählen wie eine Serie läuft.
So weisst du dann, wie lang sie ist, und von welchem typ sie ist.
Für die Speicherung bietet sich ein struct an:struct serie { int typ; //5er oder 1er oder 2er usw. int laenge//so groß ist sie int anzahl // wird hochgezählt. }
Nun könntest du die Ergebnisse mit hilfe dieses Structs zum beispiel
in eine Verkette liste schreiben, oder einfach serien vordefinieren,
z. B. wenn eine Serie nicht länger als 10 folgen haben kann.Devil**
-
Hmm wenn ich dich richtig verstehe hilft mir das auch nicht weiter
Das Array sieht etwa so aus:1,50,20,1,5,5,5,5,5,5,10,**1,1,1,5,5,5,10,**100,50,100
und nur das makierte ist ne Serie I also wenn genau diese Zahlenfolge nacheinander kommt.
-
also wie ich die einzelnen Zahlen zähle weiß ich, aber bevor ich das mache sollte ich alle Serie I also 1,1,1,5,5,5,10 zählen und aus dem Array entfernen, da sie wenn ich die 1er,5er und 10er zähle nicht mitgezählt werden sollen
-
Am einfachsten wäre du gehst durch das Array und immer wenn eine 1 komt prüfst du ob 1,1,5,5,5,10 folgen. Wenn nein gehst du weiter, wenn ja machst du nach der 10 weiter...