Sie sind nicht angemeldet.

1

17.11.2007, 14:38

c++ fragen und antworten - sammelthread

da ich bei meinem infostudium große probleme habe, atm besonders mit c++, hier ein thread für fragen und antworten.


ich fang gleich mal an:

also.. ich brauch eine möglichkeit, herauszufinden, welches zeichen in einem string am häufigsten vorkommt.
I've got a heart on for you

2

17.11.2007, 19:20

Also kann nur wenig C und gar kein C++ und habs ewig net mehr gemacht^^
Aber hier ein Ansatzt wie mans machn könnte:

Den String in einzelne Zeichen zerlegen und jedes in eni array schreiben
Danach nimmst vom gerade erstellten array die erste eingabe und überprüfst wo im Array das zeichen vorkommt und speicherst den wert in eine neue variable ab, dann machst du das mit dem 2 zeichen usw. am ende vergleichst du alle variablen und gibst die höchste aus...

ich hoff es ist klar was ich mein^^ ich denk mit php hätt ich das ziemllich schnell geschafft ^^

Kurz gesagt:

String zerlegen --> in array speichern --> erstes zeichen, dass sich im ersten array befindet, nehmen und prüfen wievielmal es im gesamten vorkommt, wert abspeichern usw

3

17.11.2007, 19:47

naja.. mir fehlt eigentlich nur eine kleine funktion...

also ich hab schon nen array geschrieben (char) der a,b,c....z,0,1,....9 enthält, den wollt ich mit ner schleife durchgehen, und dann halt zählen wie oft welches zeichen da is..
sieht ungefähr so aus

[c]for(int i=0;i<38;i++)
{
x= /* zähle array in string*/
}[/c]
I've got a heart on for you

4

18.11.2007, 10:39

*g*
Das war unter anderem ne Aufgabe meiner Fachabi-Prüfung ;)
Jedoch in Delphi nicht in C++

Jedoch handelt es sich hier um ein Programmierlogisches Problem als eines mit C++.
Auf jeden Fall brauchst du mindestens ne Schleife und mit arrays zu Arbeiten ist auch nicht schlecht.

Erst legst du ein Array an in dem alle Zeichen sind.

var x = array(a,b,c,d,....1,2,3....)
var text = "Hallo";

while (text wird durchlaufen, char für char) {
array[char] = array[char]+1;
}

Danach den Array nach der höchsten Zahl sortieren lassen.
Das hier oben ist keine bestehende Syntax, es ist einfach nur programmtechnisch aufgeschrieben, einzelne Funkionen musst du dir selbst suchen.

Jedenfalls wenn es durchläuft und das aktuelle Zeichen ist "a", dann wird array[a] hochgezählt weil man das aktuelle Zeichen einfach als Variable für den Index des Arrays benutzt.

Ich hoffe du weisst was ich meine ;)
Daddi

5

18.11.2007, 12:58

tja.. daddi. so ungefähr hatte ich das geplant.

hatte auch ne schöne funktion, die aber leider in c++ nicht funktioniert. (irgendwas mit needle und haystack)
hab dann später mitbekommen dass es php is.
I've got a heart on for you

6

20.11.2007, 01:09

[CENTER][/CENTER]

7

23.11.2007, 10:56

danke kriescher..
leider musst ich die hasuafgabe am montag schon hochladen^^
I've got a heart on for you