c语言做标记,c语言 标记

本文目录一览:

c语言中做标记的技巧

#includestdio.h

int main()

{

int list[100],n,i,j,from=0,to=0,flag=0,count=0;

scanf(“%d”,n);

for(i=0;in;i++)

{

scanf(“%d”,list[i]);

}

for(i=0;in-1;i++)

{

for(j=i;jn-1;j++)

if(list[j]==list[j+1])

count++;

else break;

if(countflag)

{

from=i;to=j;

i=j+1;

flag=count;

count=0;

}

}

if(flag==0) printf(“No equal number list.\n”);

else printf(“The longest equal number list is from %d to %d.\n”,from,to);

getch();

}

怎么样用c语言编写文法压缩用加标记法实现

基本方法是

从识别符号向终结符过度时,从含有识别符号的规则入手,寻找所有规则中左部为识别符号的规则,然后搜索这些找到的规则的右部是否含有非终结符,若含有则从所有规则中找出左部为这个非终结符的规则,并标记,当搜完第一次后,循环查找具有标记的规则,按照上面的方式继续标记剩下的规则,直到没有新的规则被标记 退出 删除未标记的规则体

反方向同理……

说什么都不如看代码 下面是我写文法压缩时候写的压缩函数

void Mylist::condense(char spot,CString gettofun)

{

//condense with spot way

addsignal(spot,1);

for(int i=1;i7;i++)

{

for(int j=0;jcount;j++)

{

if(readsignal(j)==i)

{

int rightlength=findright(j).GetLength();

for(int k=0;krightlength;k++)

{

if(gettofun.Find(findright(j).GetAt(k))!=-1)

{

addsignal(findright(j).GetAt(k),i+1);

}

}

}

}

}

// unsigned the wordrule like s::=s*

bool caiding=false;

for(int j=0;jcount;j++)

{

int rightlength=findright(j).GetLength();

for(int k=0;krightlength;k++)

{

if(findleft(j)!=findright(j).GetAt(k))

caiding=true;

}

if(caiding==false)

{signal(j,0);}

}

//format every node have been signed

for(int m=0;mcount;m++)

{

if(readsignal(m)!=0)

{

signal(m,1);

}

}

//decide which to begin

for(m=0;mcount;m++)

{

if((gettofun.FindOneOf(findright(m))==-1)(readsignal(m)!=0))

{

signal(m,2);

}

}

//right way condense

int q=2;

for(int worry=0;worry10;worry++){

for(int j1=0;j1count;j1++)

{

if(readsignal(j1)==q)

{

for(int i1=0;i1count;i1++){

//int right=findright(i1).GetLength();

for(int i2=0;i2findright(i1).GetLength();i2++)

{

if(findleft(j1)==findright(i1).GetAt(i2))

{

signal(i1,q);

}

}

}

}

}//^

}

}

这里说明一下

其中的findright(int i) 函数的功能是从第i条文法规则中找到它的右部 返回值为CString类型

signal(int i,int j)函数 是在第i条规则中找到它的标志位(即加标记)并把j放入这个标志位 以示本条规则已经做好了标记

addsignal(char i,int j) 则是找到左部名为i的规则,并标记他的标志位为j addsignalright同理

本函数传递进来的有两个参数 其中spot是识别符号Z,CString类型的是终结符号队列,包含所有已知的终结符号

在说明一点 wordrule是一个文法体class的对象 它是一个链表 每一个结点(node)为一个规则:

class node

{

public:

char leftwords;

int signal;

CString rightwords;

node *next;

public:

node(char,CString);

virtual ~node();

};

希望对你有所帮助

c语言如何在整数数组中做记号?

这个没有,c++标准库中vector可以使用迭代器vector的end()函数返回指向vector尾部迭代器的下一位置。

如果你想实现这一功能,可以自定义一个index,或者指针ptr,来指向当前数组最后一个元素的下一位置。当然您需要自己维护这个变量。插入,删除(模拟的删除咯)等操作都需要修改这一变量。

c语言中的EOF标记怎么用?

EOF一般作为文件的结尾标记。其值是-1,也就是说在stdio.h如下定义#define

EOF

-1

-1对应着ctrl+Z,在有些系统也对应着f6键。

文件的结尾都有EOF,因此可以用如下程序显示一个文件的内容:

char

c;

FILE

*fp;

fp

=

fopen(“filename.txt”,

“rt”);

while((c=fgetc(fp)!=EOF)putchar(c);

也可以如下写:

while((c=fgetc(fp)!=-1)putchar(c);

.

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/187704.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-28 06:25
下一篇 2024-11-28 06:25

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • Python语言实现人名最多数统计

    本文将从几个方面详细介绍Python语言实现人名最多数统计的方法和应用。 一、Python实现人名最多数统计的基础 1、首先,我们需要了解Python语言的一些基础知识,如列表、字…

    编程 2025-04-28
  • Python作为中心语言,在编程中取代C语言的优势和挑战

    Python一直以其简单易懂的语法和高效的编码环境而著名。然而,它最近的发展趋势表明Python的使用范围已经从脚本语言扩展到了从Web应用到机器学习等广泛的开发领域。与此同时,C…

    编程 2025-04-28
  • Python基础语言

    Python作为一种高级编程语言拥有简洁优雅的语法。在本文中,我们将从多个方面探究Python基础语言的特点以及使用技巧。 一、数据类型 Python基础数据类型包括整数、浮点数、…

    编程 2025-04-28

发表回复

登录后才能评论