字符串替换c++

更新时间:2023-07-11 04:30:54 阅读: 评论:0

学生姓名:
实验日期:
实验任务:采用顺序存储或链式存储,开卷考试实现字符串的替换功能(例如,将所有串中所有的ab替换成1234,f);
实验原理:串的顺序存储和链式存储,字符串的替换,求串的长度,输出串。
实验源程序:
#include<stdio.h>
#include<malloc.h>
逊色的近义词typedef struct snode
{
    char data;
    struct snode *next;
}LiString;
void StrAssign(LiString * &s,char t[])               
{
    int i;
    LiString *r,*p;
    s=(LiString *)malloc(sizeof(LiString));
    s->next=NULL;
    r=s;
    for(i=0;t[i]!='\0';i++)
    {
        p=(LiString *)malloc(sizeof(LiString));
        p->data=t[i];
        p->next=NULL;
        r->next=p;r=p;
卢中南楷书
    }
}
int StrLength(LiString *s)
{
    int i=0;
    LiString *p=s->next;
    while(p!=NULL)
    {
        i++;
        p=p->next;
    }
    return i;
}
void Repl(LiString * &s)
{
    LiString *p=s->next,*q;
    int find=0;
    while (p->next!=NULL && find==0)
    {
        if(p->data=='a' && p->next->data=='b')
        {
            p->data='x';p->next->data='z';
            q=(LiString *)malloc(sizeof(LiString));
            q->data='y';q->next=p->next;p->next=q;
楹联是什么意思
            find=1;
        }
        el p=p->next;
    }
}
void DispStr(LiString *s)
{
    LiString *p=s->next;
    while(p!=NULL)
    {
        printf("%c",p->data);
        p=p->next;
    }
    printf("\n");
}
void main()
{
    LiString *s,*s1;孙膑和孙武是什么关系
    printf("(1)建立串ss1\n");
    StrAssign(s,"abcdefgh");
    StrAssign(s1,"xyz");
    printf("(2)输出串s:\n");
    DispStr(s);
    printf("(3)s的长度为:%d\n",StrLength(s));
    printf("(4)输出串为s2:\n");
    Repl(s);
    DispStr(s);
}
实验结果截图:
实验任务:采用三元组存储稀疏矩阵,法人代表证明书实现矩阵的转置功能;
实验原理:稀疏矩阵的三元组表示,求三元组表示的转置矩阵,输出三元组表示。
实验源程序:   
#include<stdio.h>
typedef int Elem;
#define Maxsize 100
#define M 5
#define N 5
typedef struct
{
    int r;
    int c;
    Elem d;
}Tupnode;
typedef struct
{
    int rows;
    int cols;
    int nums;
    Tupnode data[Maxsize];
}Tsmatrix;
void Creatmat(Tsmatrix &t,Elem t1[M][N])
{    int i,j;
    t.rows=M;
    t.cols=N;
    t.nums=0;
红灯行绿灯停    for(i=0;i<M;i++)
    {
        for(j=0;j<N;j++)
            if(t1[i][j]!=0)
            {
                t.data[t.nums].r=i;
                t.data[t.nums].c=j;
                t.data[t.nums].d=t1[i][j];
                t.nums++;
            }
    }
}
void Dismat(Tsmatrix t)
{
    int i;
    if(t.nums<=0)
        return ;
    printf("\t%d\t%d\t%d\n",t.ls,t.nums);
    printf("    \n");
    for(i=0;i<t.nums;i++)
        printf("\t%d\t%d\t%d\n",t.data[i].r,t.data[i].c,t.data[i].d);
}
void Trantat(Tsmatrix t,Tsmatrix &ta)
{
    int p=0,q=0,w;
    ta.ls;
    ta.ws;
    ta.nums=t.nums;
    if(t.nums!=0)
怎么赚点小钱    {
        for(w=0;w&ls;w++)
            for(p=0;p<t.nums;p++)
              if(t.data[p].c==w)
              {
                    ta.data[q].r=t.data[p].c;
                    ta.data[q].c=t.data[p].r;
                    ta.data[q].d=t.data[p].d;
              q++;
              }
    }
}
void main()
{    Tsmatrix t,ta;
    Elem t1[M][N]={    {0,0,3,0,0},{0,2,0,0,0},{1,0,0,0,0},{0,0,0,5,0},{0,0,0,0,6}  };
    Creatmat(t,t1);
    printf("t的三元组:\n");
    Dismat(t);
    Trantat(t,ta);
    Dismat(ta);
}

本文发布于:2023-07-11 04:30:54,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1076606.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:矩阵   实验   三元组   表示   输出   转置   替换
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图