Zum Inhalt springen

String auslesen / Array


Empfohlene Beiträge

Geschrieben

Hallöchen! :)

Ich will, aus einem string z.B. 1+2*3-4/6 nur die Zahlen auslesen und in ein Array schreiben!

Hier ist meine Überlegung: :confused:

int Zahlen(string st_Gleichung)

{

stringstream ss1,ss2;

string st_zahl;

int k=0,m=0, x,temp,a=0;

int zahl;

ss1<<st_Gleichung.length();

ss1>>x;

char such_zeichen[] = "/*+-";

int Zeichenarray[x];

int Zahlenarray[x];

do

{

pos =st_Gleichung.find_first_of(such_zeichen, pos + 1);

cout << "Zeichen an Position: ";

cout << pos << endl; //ausgabe nur für testzwecke

Zeichenarray[k]=pos;

k++;

}while(pos != -1);

system("pause");

//int b=Zeichenarray[0];

int b;

for (int i=0; x>i; i++)

{

cout << "a= "<< a<<endl;

cout << "b= " << b<< endl;

st_zahl=st_Gleichung.substr(a,B);

a=Zeichenarray;

b=Zeichenarray+1;

ss2<<st_zahl;

ss2>>zahl;

cout<<i<< ". Zahl: " << zahl <<endl;

Zahlenarray[m]=zahl;

m++;

temp=Zeichenarray;

//cout<<temp;

if (temp==-1) break;

}

for (int n = 0; n<=x ;n++)//test

{

cout <<"Zahlenarray "<< Zahlenarray[n] <<endl;

}

system("pause");

}

Mach das ganze Sinn? :rolleyes: Oder habt Ihr bessere Ideen?

Vielen lieben Dank schon mal!

Lisa

Geschrieben

Also ich hab mir den Code jetzt nicht angeguckt, aber da du die Gleichung ja bestimmt lösen möchtest, macht ein Array nicht so viel Sinn.

Besser wäre es das Ganze in einem Baum zu speichern. Ich hab das zwar selbst noch nicht gemacht, aber mal in einem Webcast gesehen (ich glaube in einem von denen http://www.microsoft.com/germany/msdn/webcasts/serien/MSDNWCS-0607-01.mspx), wenn du das erstmal in dem Baum abgelegt hast kannst du die Gleichung ganz einfach ausrechnen und dabei so Sachen wie Punkt vor Strich beachten. Im Array wird das schon schwerer.

Sollte das nicht in dieser Webcastreihe enthalten sein dann kann ich auf der Arbeit nochmal nachschaue, da hab ich die alle runtergeladen.

Geschrieben

Hallo,

also falls Du nur die Zahlen rauslesen möchtest, könnte vielleicht eines der folgenden Dinge helfen

strcspn() – einen Teilstring ermitteln

strpbrk() – Auftreten bestimmter Zeichen suchen

strrchr() – das letzte Auftreten eines bestimmten Zeichens im String suchen

strstr() – String nach Auftreten eines Teilstrings durchsuchen

strtok() – String anhand bestimmter Zeichen zerlegen

Wird ausführlich auf dieser Seite beschrieben:

Galileo Computing :: C von A bis Z – 13.15 Standard-Bibliothek <string.h>

Falls Du es richtig ausrechnen musst, dann hat Guybrush recht, da sind dann Binärbäume am besten...

Gruß

Chris

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...