C/C++の宿題を片付けます 105代目
レス数が950を超えています。1000を超えると書き込みができなくなります。
0965デフォルトの名無しさん
2008/05/03(土) 10:01:47#include <string>
#include <iostream>
#include <vector>
#include <stack>
using namespace std;
int getsu(string &x,int n){
int i;n++; for(i=n;i<x.size() ;i++)if(x[i]<'0' || x[i]>'9')break;
string y=x.substr(n,n-i);
return atoi(&y[0]);}
fnc(string &x, string &y){
stack <int > num;
int n,iti=0; y="";
for(n=0;n<x.size();n++){
if(x[n]=='(' ){num.push(iti);continue;}
if(x[n]==')' ){
int k,l,d;k=num.top(); num.pop(); l=getsu(x,n); d=iti-k;
for(int i=0;i<l;i++)y+=y.substr(k,d);iti+=d*l;continue;}
y+=x[n];iti++;}
}
main(){
string ctext = "((ab)3bc)4",tmp;
fnc(ctext,tmp);
}
レス数が950を超えています。1000を超えると書き込みができなくなります。