从文件中提取符合要求的数据,编程语言不限,最好是perl/python/shell/vb/c其中的一种,采纳后另附送30
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/14 11:00:47
从文件中提取符合要求的数据,编程语言不限,最好是perl/python/shell/vb/c其中的一种,采纳后另附送30分
有一文件,其格式为:共3列,第1列是方位(north,west...),第2列是坐标,第3列是判定条件(共4个,A,B,C和D),(各列之间以tab隔开,且数据按照sort -k1 -k2排过序).示例如下所示:
01 east 10088649 B
02 east 10088650 B
03 east 10088712 C
04 north 10088738 B
05 north 10088739 D
06 north 10088857 C
07 north 10088898 A
08 north 10088899 A
09 north 10188900 B
10 south 10189041 A
11 south 11089042 B
12 south 11089043 A
13 south 11089162 D
14 south 11089163 C
15 west 10089218 A
16 west 10089309 A
17 west 10089539 A
18 west 10089581 A
19 west 10089582 B
20 west 10089649 D
最终的输出要求是:以第2列为基准,在同一方位内,提取区间范围为2000以内,且同时包含A,B,C,D 4个判定条件的行.
比如说,在上边的例子中,4-8行以及11-14行就是符合要求的.各位大侠谁能帮忙编个程序实现此目的?
有一文件,其格式为:共3列,第1列是方位(north,west...),第2列是坐标,第3列是判定条件(共4个,A,B,C和D),(各列之间以tab隔开,且数据按照sort -k1 -k2排过序).示例如下所示:
01 east 10088649 B
02 east 10088650 B
03 east 10088712 C
04 north 10088738 B
05 north 10088739 D
06 north 10088857 C
07 north 10088898 A
08 north 10088899 A
09 north 10188900 B
10 south 10189041 A
11 south 11089042 B
12 south 11089043 A
13 south 11089162 D
14 south 11089163 C
15 west 10089218 A
16 west 10089309 A
17 west 10089539 A
18 west 10089581 A
19 west 10089582 B
20 west 10089649 D
最终的输出要求是:以第2列为基准,在同一方位内,提取区间范围为2000以内,且同时包含A,B,C,D 4个判定条件的行.
比如说,在上边的例子中,4-8行以及11-14行就是符合要求的.各位大侠谁能帮忙编个程序实现此目的?
#include
#include
#include
#include
#include
int main(void)
{
FILE *fp;
int i=0,j=0,l=0,m=0,second=0,snd=0,sec21=0,sec22=0,sec23=0;
char buf[10],first[10],str[10],t,orien[10];
char sb31[10],sb32[10],sb33[10],third[10],pthird[10];
if ((fp=fopen("xuan.txt","r"))==NULL)
{
printf("read err!\n");
exit(0);
}
memset(buf,0x00,10);
while (!feof(fp))
{
fscanf(fp,"%c",&t);
if (t!='\t' && t!='\n')
{
buf[i]=t;
i++;
}
else
{
i=0;
j++;
if (j==1)
{
strcpy(first,buf);
}
if (j==2)
{
second=atoi(buf);
}
if (j==3)
{
strcpy(third,buf);
}
memset(buf,0x00,10);
if (j==3)
{
l++;
j=0;
m++;
if (abs(second-snd)3 && strcmp(third,sb31)!=0 && strcmp(third,sb32)!=0 && strcmp(third,sb33)!=0)
{
printf(orien);printf("\t");itoa((l-3),str,10);printf(str);printf("---");itoa(l,str,10);printf(str);printf("\n");
strcpy(sb31,sb32);strcpy(sb32,sb33);strcpy(sb33,third);snd=sec21;sec21=sec22;sec22=sec23;sec23=second;
}
else
{
m=0;
snd=second;
strcpy(orien,first);
}
}
else
{
m=0;
snd=second;
strcpy(orien,first);
}
strcpy(pthird,third);
}
}
}
fclose(fp);
return 0;
}
#include
#include
#include
#include
int main(void)
{
FILE *fp;
int i=0,j=0,l=0,m=0,second=0,snd=0,sec21=0,sec22=0,sec23=0;
char buf[10],first[10],str[10],t,orien[10];
char sb31[10],sb32[10],sb33[10],third[10],pthird[10];
if ((fp=fopen("xuan.txt","r"))==NULL)
{
printf("read err!\n");
exit(0);
}
memset(buf,0x00,10);
while (!feof(fp))
{
fscanf(fp,"%c",&t);
if (t!='\t' && t!='\n')
{
buf[i]=t;
i++;
}
else
{
i=0;
j++;
if (j==1)
{
strcpy(first,buf);
}
if (j==2)
{
second=atoi(buf);
}
if (j==3)
{
strcpy(third,buf);
}
memset(buf,0x00,10);
if (j==3)
{
l++;
j=0;
m++;
if (abs(second-snd)3 && strcmp(third,sb31)!=0 && strcmp(third,sb32)!=0 && strcmp(third,sb33)!=0)
{
printf(orien);printf("\t");itoa((l-3),str,10);printf(str);printf("---");itoa(l,str,10);printf(str);printf("\n");
strcpy(sb31,sb32);strcpy(sb32,sb33);strcpy(sb33,third);snd=sec21;sec21=sec22;sec22=sec23;sec23=second;
}
else
{
m=0;
snd=second;
strcpy(orien,first);
}
}
else
{
m=0;
snd=second;
strcpy(orien,first);
}
strcpy(pthird,third);
}
}
}
fclose(fp);
return 0;
}
、从键盘输入N个数据,求出其中的最大值.要求用自定义函数实现.编程题用C语言成
编写一段关于blast提取序列的Perl语言
vb中提取小数点后面的数据的
perl语言中遇到的情况
perl 、shell、python三种脚本语言那种好学、易用
excel中提取符合一定条件的数据
我用fluent自动保存了一些date文件.后处理时,Fluent怎么依次读入date文件并且提取其中的受力数据,求教
从文件中读取两个整数,输出两个数中较大的一个的平方值.pascal语言编程
Shell或者perl进行随机分组的问题
如何用perl读入一个文件,计算文件中各个单词的出现频率,再输出
用c语言编程,要求从键盘读入一个由单词和空格组成的英文长句,分解其中单词,并按照字典顺序排列输出
下列语句中符合C语言语法的语句是