string anhängen - aber irgendwie klappts nicht.
-
hey leute, könnt ihr mir helfen?
ich programmiere net so oft in c++, darum hab ich sicherlich extrem kompliziert das programm geschrieben und es klappt ja eh net richtig

was ich allerdings wissen muss, warum ist die ausgabe von 'neuerstring' so üübel? ich weiss nicht weiter..
kurz zu meinem problem, welches ich hier versuche zu lösen.
ich habe einen string - alterstring - und er soll nach doppelten buchstaben durchsucht werden. in die variable - neuerstring - soll der alte ohne die doppelten buchstaben geschrieben werden....

könnte mir da einer helfen?
#include <iostream> #include <stdlib.h> #include <cstring> #include <string> using namespace std; char * neuerstring; char * alterstring; char * temp; int main(int argc, char *argv[]) { neuerstring = ""; alterstring = "jahaa"; int count = 0,pos = 0,nstrlen; temp = alterstring; for(int a = 0; a < strlen(alterstring); a++) { for(int i = 0; i < strlen(temp); i++) { if(temp[i] == alterstring[a]) { nstrlen = strlen(neuerstring); for(int b = 0; b < nstrlen; b++) { if(neuerstring[b] == alterstring[a]) { count++; cout << count << "\n"; }; }; if(count == 0) { neuerstring += alterstring[a]; cout << alterstring[a] << " " << strlen(neuerstring) << " " << neuerstring << "\n"; }; count = 0; }; }; }; system("PAUSE"); return 0; }
-
Du hast keinen Speicher alloziert den du auch beschreiben darfst.
Gruß
-
ähh...? wie mach ich das? bin ein ziemlicher anfänger was das angeht
-
char einBischenSpeicher[128]; // Speicher für 127 Zeichen, denn da muss noch die terminierende Null hin
Gruß
-
hm also da muss ich dann alles umschreiben, und das krieg ich nicht hin

verdammt!
-
flo_brinkmann schrieb:
hm also da muss ich dann alles umschreiben, und das krieg ich nicht hin

verdammt!
Komm die notwendigen Änderungen sind ja nur minimal
#include <iostream> //#include <stdlib.h> // neu und alte header mischen gibt nur Ärger #include <cstdlib.> #include <cstring> #include <string> using namespace std; int main(int argc, char *argv[]) { // warum sollten die strings global sein char neuerstring[128] = ""; // jetzt haben wir etwas platz char *alterstring = "jahaamuha"; char * temp; int count = 0,pos = 0,nstrlen; temp = alterstring; for(int a = 0; a < strlen(alterstring); a++) { for(int i = 0; i < strlen(temp); i++) { if(temp[i] == alterstring[a]) { nstrlen = strlen(neuerstring); for(int b = 0; b < nstrlen; b++) { if(neuerstring[b] == alterstring[a]) { count++; cout << count << "\n"; }; // semicolon ist nicht notwendig }; // schadet aber auch nicht if(count == 0) { //neuerstring += alterstring[a]; // so gehts nicht int nl = strlen(neuerstring); neuerstring[nl] = alterstring[a]; neuerstring[nl+1]=0; cout << alterstring[a] << " " << strlen(neuerstring) << " " << neuerstring << "\n"; }; count = 0; }; }; }; system("PAUSE"); return 0; }Kurt
-
hey super danke!!
ich finds ja cool, dass mein code garnicht mal sooo falsch war...
1000 dank jedenfalls
