Znn3bq.jpeg
²é¿´: 1535  |  »Ø¸´: 9
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

µ­À¶ÓÄÏã

гæ (³õÈëÎÄ̳)

[ÇóÖú] ³ÌÐòÇó½â£ºÖظ´µÄÏàͬÊý¾ÝÓÃͬÑùµÄ´úÂëÈ¡´ú

СŮÓÐÈçÏÂÊý¾Ý£¬Æ¬¶Î½ØÈ¡ÈçÏ£¨Ã¿ÁÐÓÃÁËÖÆ±í·û·Ö¸ô£©
Col1        Col2        Col3        Col4        Col5        Col6
1        G L        0        0        1        0
1        EL        0        0        2        0
1        (5)W S        G L        EL        2        0
1        G S        0        0        1        0
1        A S        0        0        2        0
1        (10)A D        G S        A S        2        0
1        (65)B        B D        (10)A D        2        0
1        M M K        (4)M K        (65)B        2        0

2        J K        0        0        1        0
2        A        0        0        2        0
2        P R        0        0        1        0
2        A R        0        0        2        0
2        (59)M Z J K        A        2        0
2        (30)M R        (8)A R        (19)L R        1        0

ÆäÖеÚÒ»Áбíʾ×éºÅ£¬Ï£ÍûµÃµ½ÈçϵĽá¹û£º
1. ÔÚÿһ×éÀ²»´øÓÐÊý×ÖµÄ×ÖĸÏÓ÷ûºÅ±íʾ¡£ÆäÖоßÓÐÏàͬ×ÖĸµÄÏîÄ¿£¨Ã»ÓÐÊý×ÖµÄ×ÖĸÁУ©£¬ÓÃÏàͬ·ûºÅ±íʾ£¬ÈçNA1£¬ÈçµÚÒ»ÐÐG L¡ª¡ª¡ª¡ªNA1£¬µÚÈýÐеÄG LÒ²ÊÇNA1£¬µ«ÊǵڶþÐеÄELΪNA2
2.ͬһ×éÀ´øÓÐÊý×ÖµÄ×ÖĸÏ×Öĸɾ³ý£¬Ö»ÁôÏÂÊý×Ö


×Ô¼º³¢ÊÔµÄдÁËÏ£¬·¢ÏÖ£¬ÂÒ³ÉÁËÒ»ÍÅ£¬½ô¼±ÇóÖú¸÷λ´ïÈË£¬ÏÈл¹ýÀ²£¡£¡£¡
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

anntoy

ľ³æ (ÖøÃûдÊÖ)

ÓÃcдÁ˸ö£¬µÚÒ»ÐÐÄǸö±êÌâ´¦Àí²»ÁË
CODE:
#include
#include
#include

#define INBUFSIZE 1024
#define OUTBUFSIZE 100
#define MAXLET 50
#define MAXINDEX 50

char table[MAXINDEX][MAXLET];
int maxindex;

int isAllNum(char *p)
{
        while(*p >= '0' && *p <= '9') {
                p++;
        }
        return *p == '\t' || !*p;
}

int isAllLetter(char *p)
{
        while((*p >= 'a' && *p <= 'z')||(*p >= 'A' && *p <= 'Z')) {
                p++;
        }
        return *p == '\t' || !*p;
}

int kickLetter(char *in)
{
        int i = 0;
        char *out = in;
        while(*in){
                if(*in >= '0' && *in <= '9') {
                        *out = *in;
                        out++;
                        i++;
                }
                in++;
        }
        *(out++) = '\t';
        *out = 0;
        return ++i;
}

int getcol(char *in, char *out)
{
        int i = 0;
        while(*(in + i) != '\t' && *(in + i)) {
                *(out + i) = *(in + i);
                i++;
        }       
        *(out + i) = 0;
        return i == 0 ? 0 : i + !!*(in + i);
}

int getIndex(char *p)
{
        int i = maxindex;
        while(i--)
                if(!strcmp(table[i], p))
                        return i;
        maxindex++;
        sprintf(table[maxindex], p);
        return maxindex;
}

int main()
{
        char *inbuf, *outbuf;
        int group = 0, ret, ret2;
        FILE * fpi, *fpo;
        fpi = fopen("in","r");
        fpo = fopen("out","w");
        inbuf = malloc(INBUFSIZE);
        outbuf = malloc(OUTBUFSIZE);
        while(fgets(inbuf, INBUFSIZE, fpi)){
                if(*inbuf == '\n'){
                        fwrite("\n", 1, 1, fpo);
                        continue;
                }                       
                if(inbuf[strlen(inbuf) - 1] == '\t')
                        inbuf[strlen(inbuf) - 1] = 0;
                ret = getcol(inbuf, outbuf);
                if(group != atoi(outbuf)){
                        group = atoi(outbuf);
                        maxindex = 0;
                }
                fwrite(inbuf, ret, 1, fpo);
                while(ret2 = getcol(inbuf + ret, outbuf)){
                        ret += ret2;
                        if(isAllNum(outbuf)){
                                ret2 = sprintf(outbuf, "%s\t", outbuf);
                                fwrite(outbuf, ret2, 1, fpo);
                        } else if(isAllLetter(outbuf)) {
                                ret2 = sprintf(outbuf, "NA%d\t", getIndex(outbuf));
                                fwrite(outbuf, ret2, 1, fpo);
                        } else {
                                ret2 = kickLetter(outbuf);
                                fwrite(outbuf, ret2, 1, fpo);
                        }
                }
                fseek(fpo, -1, SEEK_CUR);
                fwrite("\n", 1, 1, fpo);
        }
        fclose(fpi);
        fclose(fpo);
        free(inbuf);
        return 0;
}

7Â¥2012-07-07 12:29:19
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 10 ¸ö»Ø´ð

jjdg

°æÖ÷ (ÖªÃû×÷¼Ò)

ÓÅÐã°æÖ÷

»¹ÊDz»Ì«Çå³þÄãµÄÒâͼ
ŬÁ¦Ñ§Ï°£¡ÒÔÕýµ±Í¾¾¶£¡»ñµÃÐèÒªµÄ֪ʶ£¡
2Â¥2012-07-07 01:15:44
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

µ­À¶ÓÄÏã

гæ (³õÈëÎÄ̳)

ÒýÓûØÌû:
2Â¥: Originally posted by jjdg at 2012-07-07 01:15:44
»¹ÊDz»Ì«Çå³þÄãµÄÒâͼ

¶÷£¬¾ÍÊǰ¡£¬Êý¾ÝÖеÚÒ»Áбíʾ×éºÅ£¬Ã¿¸ö×鶼ϣÍû×öµ½ÒÔϵÄÊÂÇ飬Èç×éÒ»
1.ÓÐ×ÖĸûÓÐÊý×ÖµÄÏîÄ¿£¬¶¼Ìæ»»³ÉNAi£¬ÆäÖÐi µÄȡֵ¸ù¾ÝÇé¿ö¶ø¶¨. ÈçµÚÒ»¸öÅö¼ûµÄ×Öĸ×éºÏÊÇG L£¬ÄÇô×ÔÈ»ÊÇNA 1£¬ ¶øµÚÒ»Ðк͵ÚÈýÐеÄ×ÖĸÏàͬ£¬¶¼ÊÇ G L£¬ÄÇô¾ÍÓÃÏàͬµÄNA1±íʾ£¬µÚ¶þÐÐELÔòÓÃNA2±íʾ£¬ÒÀ´ÎÀàÍÆ¡£

2.ÓÐ×Öĸ£¬ÓÐÊý×ÖµÄÏîÄ¿£¬Ö»ÁôÏÂÊý×Ö£¬²»Òª×Öĸ¡£

»¹ÓÐÄÄÀï²»Çå³þô£¿
3Â¥2012-07-07 05:35:57
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

jackie1179

ľ³æ (ÕýʽдÊÖ)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
¸øÄãдÁ˸öperl½Å±¾£¬Ï£ÍûÄܹ»°ïµ½Äã¡£
Ó÷¨£ºperl  ./pro.pl  input_file output_file
ÌùÉÏ´úÂë:
#!/usr/bin/perl -w

unless(@ARGV) {
  die "Arguments not enough!$!";
}
$in = $ARGV[0];
$out = $ARGV[1];
open(IN,"$in" || die "Cannot open this file!$!";
open(OUT,">$out" || die "Cannot write to this file!$!";
undef %string;
$cnt = 0;
while( {
  chomp;
  @array = split /\t/;
  foreach $ele(@array) {
    if($ele lt '0' || $ele gt '9') {
      print $ele,"\t";
      if($ele =~ /\((\d+)\)/) {
        $ele = $1;
      } else {
        if(!defined $string{$ele}) {
         
          $cnt++;
          $string{$ele} = $cnt;
          $ele = "NA" . $cnt;
        } else {
          $ele = "NA" . $string{$ele};
        }
      
      }
      
    }
    print OUT "$ele\t";
  }
  print OUT "\n";
  
}

close IN;
close OUT;
4Â¥2012-07-07 10:08:13
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ²ÄÁÏ085601µ÷¼Á +16 ºÎÈó²É123 2026-04-10 17/850 2026-04-10 12:22 by °ÂÌØÂüµÄС¹ÖÊÞ
[¿¼ÑÐ] ²ÄÁÏרҵ344Çóµ÷¼Á +9 hualkop 2026-04-10 11/550 2026-04-10 12:05 by hualkop
[¿¼ÑÐ] 071000ÉúÎïѧµ÷¼ÁÇóÖú +15 zzzzwww 2026-04-09 18/900 2026-04-10 12:03 by pengliang8036
[¿¼ÑÐ] 293Çóµ÷¼Á +5 ÓÂÔ¶¿â°®314 2026-04-08 5/250 2026-04-10 08:46 by vgtyfty
[¿¼ÑÐ] »¯¹¤Çóµ÷¼Á£¡ +34 RichLi_ 2026-04-06 34/1700 2026-04-09 20:39 by zhouxiaoyu
[¿¼ÑÐ] ¼ÆËã»ú11408£¬286·ÖÇóµ÷¼Á +9 ľ×ÓÄî•„ 2026-04-05 9/450 2026-04-09 20:04 by vgtyfty
[¿¼ÑÐ] Çó»úеר˶297µÚ¶þÅúµ÷¼Á +5 ʰÆâ12¡£ 2026-04-08 5/250 2026-04-09 16:43 by Ôʵ±ÊʶÈ
[¿¼ÑÐ] 0703×Ü·Ö331Çóµ÷¼Á +18 ZY-05 2026-04-04 22/1100 2026-04-09 09:09 by ŶŶ123
[¿¼ÑÐ] 286Çóµ÷¼Á +19 Faune 2026-04-08 20/1000 2026-04-09 08:36 by ŶŶ123
[¿¼ÑÐ] 0703»¯Ñ§µ÷¼Á 348·Ö +14 °¦ÎÒ³¬ÕæÃ»ÕÐÁË 2026-04-06 15/750 2026-04-08 19:16 by ÎÒ¼õ·Ê1
[¿¼ÑÐ] 327Çóµ÷¼Á +12 Xxjc1107. 2026-04-06 12/600 2026-04-08 16:46 by luoyongfeng
[¿¼ÑÐ] 313Çóµ÷¼Á +3 Ê®Áùʰ½ 2026-04-07 3/150 2026-04-07 23:20 by lbsjt
[¿¼ÑÐ] ÉúÎ﹤³ÌÇóµ÷¼Á +13 ϲ»¶»¹ÊDz»¸ÊÐÄ 2026-04-05 13/650 2026-04-07 16:55 by Ecowxq666£¡
[¿¼ÑÐ] 0854Çóµ÷¼Á +4 assdll 2026-04-05 4/200 2026-04-06 12:29 by ÖзÉÔº¿Õ¹ÜѧԺÑ
[¿¼ÑÐ] 319Çóµ÷¼Á +3 handrui 2026-04-05 3/150 2026-04-06 09:33 by jp9609
[¿¼ÑÐ] 277Çóµ÷¼Á +5 ¿¼Ñе÷¼Álxh 2026-04-05 5/250 2026-04-05 19:03 by chy09050039
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +13 Ò»ÑùYWY 2026-04-03 14/700 2026-04-05 18:20 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 11408,335·Ö£¬±¾¿Æ211£¬Çóµ÷¼Á£¬¿Éתרҵ +5 öùÀæ´óöùÓã 2026-04-03 5/250 2026-04-04 22:49 by chongya
[¿¼ÑÐ] 400·ÖÇóµ÷¼Á +3 ÞÏÞÎÇÒÄÓÍ· 2026-04-04 3/150 2026-04-04 08:41 by jp9609
[¿¼ÑÐ] 350Ò»Ö¾Ô¸±±¾©º½¿Õº½Ìì´óѧ08500²ÄÁÏ¿ÆÑ§Ó빤³ÌÇóµ÷¼Á +5 kjnasfss 2026-04-03 5/250 2026-04-03 22:29 by Î޼ʵIJÝÔ­
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û