piranb
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Прошу помощи в написании программы... вернее подправить... Проблему решить никак не могу. В задаче нужно " Проверить есть ли в строке слова, являющиеся именами переменной." Пример . abc a1 112a x1* a => abc a1 a - то что должно получиться То есть у переменной первый элемент = латинской букве... Не цифра, не звездочка... Также, если первый элемент равен латинской букве, то после него могут быть цифры, но не символы ( типа * ) Проблема заключается в том, что (a1) - не распечатывает как переменную... Пожалуйста... Помогите... Буду очень благодарен Вот программа. #pragma argsused #include <conio.h> #include <stdio.h> #include <string.h> int main(int argc, char* argv[]) { int h=0,g=0,k=0,i,j,p,c,x,w,a,s; int vect[21]; char text1[21]; char text2[21]={' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '}; gets(text1); h=strlen(text1); /*while(text1[k]!=' ')k++;p=k; for(i=0;i<p;i++) for(j=p;j<h;j++) if((text1[i]==text1[j])||(text1[j]==' '))text2[j]=text1[j]; */ for(j=0;j<h;j++) if(text1[j]==' '){vect[g]=j;g++;} vect[g]=h; for(a=0;a<=h;a++) { x=vect[a]; c=vect[a+1]; for(s=x;s<=c;s++) if((text1[s]=='0')||(text1[s]=='1')||(text1[s]=='2')||(text1[s]=='3')||(text1[s]=='4')||(text1[s]=='5')||(text1[s]=='6')||(text1[s]=='7')||(text1[s]=='8')||(text1[s]=='9')) { for(w=x;w<=c;w++) text1[w]=' '; } puts(text1); } for(a=0;a<=g;a++) { x=vect[a]; c=vect[a+1]; for(s=x;s<=c;s++) if(text1[s]=='*') { for(w=x;w<=c;w++) text1[w]=' '; } getch(); } return 0; } |