Написать функцию удаляющую из string слова, где сумма цифр равна заданному числу.
| Код | #include "stdafx.h" #include<iostream> #include<math.h> using namespace std; void f() {int as=0,begin=0,end=0,flag=0,l=0,d=0,i=0,c=0,p=0,x=0,z=0,k=0; char *a=new char[100]; cin.getline(a,100);int n=0; cin>>n; while(*(a+i)!='\0') {{ while(*(a+i)==' ' || *(a+i)=='\t' || *(a+i)=='\n' ) i++; begin=i; while(*(a+i)!=' ' && *(a+i)!='\t' && *(a+i)!='\n' && *(a+i)!='\0') i++; end=i-1; p=0; for(int k=begin;k<=end;k++) {if(*(a+k)>='0' && *(a+k)<='9') p=p+(*(a+k)-'0');}
if(p==n) {z=begin; for(int u=end+1;*(a+u)!='\0';u++) {*(a+z)=*(a+u); z++;} *(a+z++)='\0'; } p=0;z=0; }} for(i=0;*(a+i)!='\0';i++) cout<<*(a+i); getchar(); getchar();
}
int _tmain(int argc, _TCHAR* argv[]) { f(); return 0; }
|
|