Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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.

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 Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.