"We are back" « oc.at

C++: String in ein Array einlesen

Facetious 26.11.2003 - 19:27 5004 27
Posts

Facetious

Addicted
Avatar
Registered: Oct 2003
Location: Wien
Posts: 406
Hallo Leute!

Ich möchte gerne eine String Variable, dass heisst jeden einzelnen buchstaben von ihr in ein array einlesen.

gibts da schon was vorgefertigtes???


tia
Facetious
Bearbeitet von Facetious am 08.12.2003, 15:56

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
sofernst einen char array machst, was die klassische art einen string zu machen ist, hast das feature des direkten ansprechens sowieso

d3ft0n3

grinder
Avatar
Registered: Apr 2003
Location: Graz
Posts: 748
machs einfach so:


void main(void) {
char carray[<max>];
int i;

for (i = 0; i < <max>; i++) {
printf("Eingabe Zeichen: \n");
scanf("%s", & carray[i]);
}
}


hth, zwar nicht gerade früh dran, aber der thread ist noch nicht auf solved...

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
1. Buffer overflow
2. falsch (speichert von jedem eingegebenen String das erste Zeichen)

Auf die ursprüngliche Frage gibt's keine Antwort, weil nicht klar ist, was er überhaupt will.

murcielago

Dr. Doom
Avatar
Registered: Oct 2002
Location: *
Posts: 2697
delete

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11343
Zitat von Ringding
1. Buffer overflow

wo?

EDIT: ahso, weiterlesen, ist ja ein Folgefehler von 2.

Wannabe2k

Little Overclocker
Registered: Feb 2003
Location: Austria
Posts: 111
char help;
char string[max];

for(int i=0;i<max;i++)
{ help=getch();
string[i]=help;
}

ich hoff ich hab die aufgabenstellung verstanden

edit
wennst meinst du hast schon an string und willst deis ganze in a int feld schreibn geht deis anders

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
weitere rateversuche haben imho keinen sinn, solange nicht klar ist, was
Facetious eigentlich wirklich will.

Facetious

Addicted
Avatar
Registered: Oct 2003
Location: Wien
Posts: 406
sry leuts ... ist eigentlich schon gesolved gewesen.. hab nur vergessen umzuschalten!

Facetious

Addicted
Avatar
Registered: Oct 2003
Location: Wien
Posts: 406
aber zur erklärung:

int main()
{
string var;

cout<<"Wort eingeben"<<endl;
cin>>var;

return 0;
}

Der Benutzer gibt ein: Kindergarten
jetzt soll die Variable "var" in ein array geschriebn werden d.h: a[0]="K", a[1]="i", a[2]="n" .....

Danach gibt der Benutzer einen Buchstaben ein: zb: e

jetzt soll das am anfang eingegebene Wort "Kindergarten" ohne "e" ausgegeben werden

Ausgabe: Kindrgartn

HeuJi

OC Addicted
Avatar
Registered: Jul 2001
Location: Vienna
Posts: 7379
Ähm wo sind die Arrays im Code? :confused:

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11343
...und wozu sollte man für diese Aufgabe ein Array brauchen, wo doch std::string eh so einen schönen operator[] hat?

geforceraid

Big d00d
Avatar
Registered: Mar 2003
Location: Uhrwerk
Posts: 299
for(int i = 0, i <= strlen(var), i++)
{
if(var[i] == 'e')
for(int j = i+1, j < strlen(var), j++)
{
var[j-1] = var[j];
var[strlen(var)-1] = '/0';
}
}

oda so ;)

Facetious

Addicted
Avatar
Registered: Oct 2003
Location: Wien
Posts: 406
@ that
soll ichs mir aus den finger zuzln .. ich hab keine ahnung von c++

@ geforce raid
thx

@heuji
der oben hingeschriebene code ist nur symoblisch zu sehen :)

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11343
Wenn du keine Ahnung von C++ hast, wie kommst du dann auf diese seltsame Aufgabe?

@Code von geforceraid: Mutiger und kreativer Code. Unglaublich, wie man aus einem simplen O(n) Problem ein O(n²) Problem machen kann. Auf deutsch: Deine geschachtelten Schleifen sind völlig unnötig.

Jedenfalls weiß ich jetzt, was ich dem nächsten Bewerber für eine Aufgabe stellen könnte. ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz