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: :?
Alles anzeigen
Mach das ganze Sinn? :roll: Oder habt Ihr bessere Ideen?
Vielen lieben Dank schon mal!
Kathrin

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: :?
Quellcode
- 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[i];
- b=Zeichenarray[i]+1;
- ss2<<st_zahl;
- ss2>>zahl;
- cout<<i<< ". Zahl: " << zahl <<endl;
- Zahlenarray[m]=zahl;
- m++;
- temp=Zeichenarray[i];
- //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? :roll: Oder habt Ihr bessere Ideen?
Vielen lieben Dank schon mal!
Kathrin