Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » einzelne Zeichen einer Zeichenkette austauschen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
06.04.2004, 17:21 Uhr
Meuterich



hi,

schoen mal ein so umfangreiches Forum zu finden

hab da mal ne Frage:

ich meine mal irgendwo gelesen zu haben das es eine Moeglichkeit gibt
einzelne Zeichen einer Zeichenkette(z.b. Hallo Welt!) auszutauschen...finds
aber irgendwie nicht mehr

eine Variable ist mit einer Zeichenkette belegt: Variable="Hallo Welt!"
nun moechte ich gezielt das 'a' in dieser Zeichenkette duchr sagen wir
ein anderes Zeichen erstzen welches eine andere Variable liefert
wie mach ich das?
klar ich koennte einfach im c++code das 'a' austauschen aber es soll inerhalb
einer Funktion passieren *g*

ich meine das war irgendsowas mit Variable[2]=andereVariable aber ich steh
grad was aufem Schlauch

kann mir da einer weiterhlefen und tut das auch ?

bis denne

Meuterich
--
Eine Signatur wird unter jedem von Ihnen erstellten Beitrag angefügt.
Maximal 5 Linien, jedoch nicht mehr als 600 Zeichen.
ThWboard-Code-Tags werden bis auf [url] und [img] nicht berücksichtigt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.04.2004, 17:34 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ohne das zu testen einfach ins forum gehackt so

C++:
//s ist die zeichenkette
//a das zu ersetzende zeichen
//b das zeichen mit dem ersetzt wird
//rückgabewert ist die anzahl der ersetzen zeichen
int replace(char* s,char a, char b){
int rv;
for(rv=0;*s;++s)if(*s==a){*s=b;++rv;}
return rv;
}


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 06.04.2004 um 17:34 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
06.04.2004, 18:15 Uhr
Meuterich



hi,

thx fuer die schnelle Antwort, ich verstehe das so:
in der Zeichenkette s wird nach einem Zeichen a gesucht und durch Zeichen b
ersetzt? das hiesse dann aber wenn ein zeichen doppeltvorkaeme dann wuerden
alle die gleichen Zeichen ausgetauscht oder?


ich dachte mir das aber eher so:


C++:
//gegeben:
ZeichenKette="Hallo Welt!"

ersetze Zeichen 2 der ZeichenKette mit Variable="b"
//oder auch ein anderes Zeichen 3 oder 6, dies kann dann durch eine WertVariable bestimmt werden

//ohne was zu vergleichen ^--^
//dann

Edit1 -> Text = ZeichenKette;


ich meine das ging mit nem einfachen syntax...nur komm ich nich drauf...
also zweiter versuch *g*

Meuterich
--
Eine Signatur wird unter jedem von Ihnen erstellten Beitrag angefügt.
Maximal 5 Linien, jedoch nicht mehr als 600 Zeichen.
ThWboard-Code-Tags werden bis auf [url] und [img] nicht berücksichtigt.

Dieser Post wurde am 06.04.2004 um 18:17 Uhr von Meuterich editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
06.04.2004, 18:20 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


in dem fall könenn wir die funktion noch erweitern

C++:
//s ist die zeichenkette
//a das zu ersetzende zeichen
//b das zeichen mit dem ersetzt wird
//max_replace maxiamle anzahl an zeichen die ersetzt werden
//rückgabewert ist die anzahl der ersetzen zeichen

int replace(char* s,char a, char b,int max_replace){
int rv;
for(rv=0;*s&&max_replace;++s)if(*s==a){*s=b;++rv;--max_replace}
return rv;
}


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
06.04.2004, 19:26 Uhr
Meuterich



hi,

hab mich doof ausgedrueck ... bin noch anfaenger also nich schlagen


C++:

randomize();
// bevor die for schleife durchlaufen wird muesste noch die Variable ZeichenKette festgelegt werden
// etwa so ZeichenKette[Laenge] wobei Laenge ein WErt ist den ein TrackBar liefert

   for(int i=1;i<=Laenge;i++)
       {
        Zahl = random(9);
        ZeichenKette[i]=Zahl;  // an der i-ten Stelle der Variable ZeicheKette soll die Variable Zahl eingefuegt werden, der syntax ist so nich richtig aber diesbezueglich frag ich ja :)
       }
  Form1 -> Edit1 -> Text = ZeichenKette[gesammt];  // hier soll die gesammte ZeichenKette ausgegeben werden



ich meine fuer sowas gibt es auch einen bestimmten VariablenTyp char oder so

hoffe nun is klarer was ich meine...
das andere eignet sich denke ich gut fuer eine suchen-ersetzen-funktion


als dann

Meuterich
--
Eine Signatur wird unter jedem von Ihnen erstellten Beitrag angefügt.
Maximal 5 Linien, jedoch nicht mehr als 600 Zeichen.
ThWboard-Code-Tags werden bis auf [url] und [img] nicht berücksichtigt.

Dieser Post wurde am 06.04.2004 um 19:27 Uhr von Meuterich editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
06.04.2004, 19:31 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


was hat denn ZeichenKette für einen Typ?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
06.04.2004, 19:55 Uhr
Meuterich



hi,

keine ahnung welcher typ ZeichenKette ist,
hatte ja die hoffnung ich bekomme hier nen tipp

aber auf jedenfall soll ZeichenKette Zahlen und/oder Buchstaben
aufnehmen koenne, das ganze soll fuer nen passwortgenerator dienen
es muss dann sicherlich noch string in int und umgekert gewandelt werden,
aber das ist dann nicht das prob denke ich
--
Eine Signatur wird unter jedem von Ihnen erstellten Beitrag angefügt.
Maximal 5 Linien, jedoch nicht mehr als 600 Zeichen.
ThWboard-Code-Tags werden bis auf [url] und [img] nicht berücksichtigt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
06.04.2004, 21:09 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ich weiss immer noch nicht so richtig was du willst aber ich rate mal


C++:
srand(time(NULL));
std::string zeichenkette;
for(int i=0;i<Laenge;++i)zeichenkette+=48+rand()%10;
Form1 -> Edit1 -> Text = zeichenkette.c_str();


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
06.04.2004, 22:14 Uhr
Meuterich



hi,

noe isses auch nicht ...ich werd mir mal ueberlegen wie ich das besser erklaeren
kann damit es verstanden wird *g* ist auch nicht so einfach zu erklaeren...
ich werde da mal nen bild zu machen, meist ist das verstaendlicher

bis denn und nen entspannten abend

Meuterich
--
Eine Signatur wird unter jedem von Ihnen erstellten Beitrag angefügt.
Maximal 5 Linien, jedoch nicht mehr als 600 Zeichen.
ThWboard-Code-Tags werden bis auf [url] und [img] nicht berücksichtigt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
06.04.2004, 23:04 Uhr
Meuterich



hi,

so also:


1.der ZufallsZeichenGenerator generiert ein durch einen TrackBar vorgegebene
Menge an ZufallsZeichen(den algorytmuss schreib ich schon,das generieren also
hab ich quasi schon)

2.die ZeichenKette ist als eine art 'wagen' zu verstehen, aehnlich wie das teil
bei der lottoziehung *g* das heist die Laenge des wagens definiert sich ueber
die durch den TrackBar vorgegeben Menge der zu generierenden ZufallsZeichen

3.in jedes dieser 'becher' passt genau ein ZufallsZeichen.

ist es nun verstaendlicher was ich meine?

worauf ich nicht komme ist zum einen der trichter: der soll ja in ein entsprechenden
becher ein generiertes ZufallsZeichen geben und dann der Wagen: welcher Variablen-Typ ist das? wie deklariere ich den? etc.?

uhi...hoffentlich besser nu?

als dann

Meuterich
--
Eine Signatur wird unter jedem von Ihnen erstellten Beitrag angefügt.
Maximal 5 Linien, jedoch nicht mehr als 600 Zeichen.
ThWboard-Code-Tags werden bis auf [url] und [img] nicht berücksichtigt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: