Делать твое задание не буду а вот пример по с++ со сроками могу дать там токае есть если хоть чучуть шарих разберошся.
| Цитата | #include <conio.h> #include <stdlib.h> #include <string.h> #include <ctype.h>
void doZvity() { clrscr(); gotoxy(8,7); cprintf("Standartni fanction movu Turbo C kotri vukorustovyvalusa v programi"); gotoxy(8,8); cprintf("strstr - Naxodit poervovo vogdunua vukorustovye 2 parametra (stroka,Word)"); gotoxy(8,9); cprintf("strlen - Dlina stroki"); gotoxy(8,10); cprintf("strncpy - Copy z vtroki pevny kilkist sumvoliv"); getch(); }
int menu() /*Menu pregram*/ { int i; textcolor(3); cprintf("\r\n\n\n 1. Position to exit substring"); cprintf("\r\n 2. Delete substring"); cprintf("\r\n 3. Insert substring"); cprintf("\r\n 4. Copy"); cprintf("\r\n 5. Kilkise "); cprintf("\r\n 6. Do Zvitu"); cprintf("\r\n 7. Exit");textcolor(15); cprintf("\r\n\n Choise menu item:");cscanf("%d",&i); return (i); }
int task1(char st[],int *ls) /*Pochyk 1 bxodgenna sumvola inty string*/ { int i; char subst[10]; cprintf("\r\n Input substring:"); cscanf("%s",subst); *ls=strlen(subst);i=strstr(st,subst)-st; return(i); }
int task3(char st[]) /*Wstavlae pisla sumvola stroky*/ { int i,j,k,ls,lsub; char subs[10],c[1],tm[50]; ls=strlen(st); cprintf("\n\r Input substring for insert: ");cscanf("%s",subs); cprintf("\n\r Input symbol after insert: ");cscanf("%s",c); i=strstr(st,c)-st; ls=strlen(st); lsub=strlen(subs); for(j=0;j<=ls-i+1;j++) tm[j]=st[j+i+1]; for(j=i+1,k=0;j<=i+lsub,k<=lsub;j++,k++) st[j]=subs[k]; for(j=i+lsub+1,k=0;j<=ls+lsub,k<=ls-i;j++,k++) st[j]=tm[k]; }
int task2(char st[])/* Wudalenna slova z stroki*/ { int i,j,ls,lsub; i=task1(st,&lsub); ls=strlen(st); for(j=i;j<=ls-lsub;j++) st[j]=st[j+lsub]; }
int task4(char st[]) /*Wuwodut sopy sumwolu z string*/ { char OutputStr[100];char Symbol; int kilkist; cprintf("\r\n Input Sumbol z kotrogo pochunatu copy:");cscanf("%s",&Symbol); cprintf("\r\n Input kilkisr sumvoliv kotri potribno zcopiyvatu:"); cscanf("%d",&kilkist); strncpy(OutputStr,strchr(st,Symbol)+1,kilkist); cprintf("\r\n Sumvolu kotri copy=%s",OutputStr ); getch(); }
int task5(char st[]) /*Pidrahowye kilkist bykvospolychen*/ { char Word[256]; int num = 0; char *c,pos; cprintf("\r\n Input slovo kotre potribno poraxyvatu:");cscanf("%s",Word); for(c=st;*c;c++) { char* pos = strstr(c,Word); if(!pos) break; else {num++;c=pos+strlen(Word)-1;} } cprintf("\r\n Kilkist vxodgen slova=%d",num);getch(); }
void main() { char s[50]; int item,i; clrscr();hello();clrscr();textcolor(15); cprintf("\r\n Input string: ");textcolor(14);cscanf("%s",s); do { clrscr();textcolor(15);cprintf("\r\n String:%s",s);item=menu(); switch (item) { case 1:{cprintf("\r\n Position exit substring is:%d ", task1(s,&i)+1);getch();break;} case 2:{task2(s);break;} case 3:{task3(s);break;} case 4:{task4(s);break;} case 5:{task5(s); break;} case 6:{doZvity();break;} case 7:{abort();} } } while (getch()!=27); }
|
|