Zum Inhalt springen

String auslesen / Array


Liz

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...