同步课 / 数据结构

任务8:第四章作业
10
卡西猫
开始于 2016-11-02 13:51
0 39 348
已截止

任务尚未发布或者你没有权限查看任务内容。

任务讨论
卡西猫

任务已更新

//*****************//
//班级:2015级8班
//姓名:张涛
//学号:2015015521
//*****************//
#include <iostream>
#include <string>
using namespace std;

int main(void)
{
	char S[10]="i am cool";
	char F[10]="cool";
	char T[10]="hot";
	char Q[100];
	
	int i=0,j=0;
	while(i<strlen(S) && j<strlen(F))
	{
		if(S[i]==F[j])
		{
			++i;
			++j;
		}
		else
		{
			i=i-j+1;
			j=0;
		}
	}

	for(int a=0;a<i-strlen(F);a++)
	{
		Q[a]=S[a];
	}
	for(int a=0;a<strlen(T);a++)
	{
		Q[a+i-strlen(F)]=T[a];
	}
	for(int a=i;a<strlen(S);a++)
	{
		Q[a-strlen(F)+strlen(T)]=S[a];
	}

	for(int a=0;a<strlen(S)-strlen(F)+strlen(T);a++)
	{
		cout<<Q[a];
	}

	system("pause");
	return 0;
}
/*******************************
  * 姓名:董瑞
  * 学号:2015015303
  * 班级:4班
  * 日期:2016/11/9
  *******************************/
#include <stdio.h>//标准输入输出
#include<string.h>//字符串
#include<time.h>//时间库
#include<stdlib.h>//C语言标准库
#include<math.h>//函数库

#define OK          1  
#define ERROR       0  
#define OVERFLOW    -2  
  
typedef struct  
{  
    char *ch;  
    int length;  
}String;  
  
void Init_String(String *T)  
{  
    T->ch = NULL;  
    T->length = 0;  
} 
int StrAssign(String *T,char *chars)
{
    int i;
    int len;
    char *p=chars;
    if(T->ch)
        free(T->ch);
    for(len=0;*p!='\0';++p,++len);
    if(!len)
    {
        T->ch=NULL;
        T->length=0;
    }
    else
    {
        T->ch=(char*)malloc(sizeof(char)*len);
        for(i=0;i<len;i++)
            T->ch[i]=chars[i];
        T->length=len;
    }
    return OK;
}

void STP(String * S,String T,String P)
{
    int i=0,j=0;
    int x,y;
    for(i=0;i<S->length && j<T.length ;i++)
    {
        if(S->ch[i]==T.ch[i])
        {
            ++i;
            ++j;
        }
        else
        {
            i=i-j+1;
            j=0;
        }
    }
    x=i-T.length;
    y=i;

    String * temp= S ;
    free(S->ch);
    S->ch=(char *)malloc((S->length+T.length-P.length)*sizeof(char));
    for(i=0;i<x;i++)
    {
        S->ch[i]=temp->ch[i];
    }
    for(i=S->length-1;i>=y;--i)
    {
        S->ch[i+(P.length-T.length)]=S->ch[i];
    }
    for(i=x;i<x+P.length;i++)
    {
        S->ch[i]=P.ch[i];
    }
}

int main()
{
    char s[]="abcabbreadyeafd";
    char t[]="ready";
    char p[]="replaceok";
    String T,S,P;
    StrAssign(&S,s);
    StrAssign(&T,t);
    StrAssign(&P,p);


}
卡西猫

任务已更新

卡西猫

任务已更新

卡西猫

任务已更新