亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12345下一頁
最近訪問板塊 發(fā)新帖
查看: 8828 | 回復(fù): 40
打印 上一主題 下一主題

[文本處理] 以 [小寫字符] 標(biāo)示出雜質(zhì) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2013-10-26 14:45 |只看該作者 |倒序瀏覽
本帖最后由 gr33n 于 2013-10-26 11:47 編輯

各位大大好:

1:
一個純凈的字符串, 是由字符 A, B, C, D 字符組成的。如:
ABDCDCDC

2:
一個不純凈的字符串, 是由字符 A, B, C, D, X 字符組成的。如:
ABDCDCDCXABBXXAA

3: 污染物 X 字符:
[考慮橫向時:] 污染物 X 字符旁邊是
A: 1 字符被X污染, AXA...是雜質(zhì)。
B: 2 字符被X污染, AXBB, BBXA, ABXBB....是雜質(zhì)。
C: 3 字符被X污染, AXCCC, ABCXCAB, CCCXCBB, ABXCBA....是雜質(zhì)。
D: 4 字符被X污染, ABCDXDAAA, AXDCCC, ABXDDDD...是雜質(zhì)。       

污染不會穿透 X:
AXDXAB
雜質(zhì)為:AXDXA
不是:AXDXAB

4:
標(biāo)示出雜質(zhì), [ 同時考慮 X 橫向, 垂直向 ] 的污染                
一個不純凈的字符串組。如:


ABCABCDD
ABCXABBD
CCCCBBAA
DCAABCCX

結(jié)果以 [小寫字符] 標(biāo)示出雜質(zhì)。如:

ABCaBCDD
abcxaBBD
CCCcBBAa
DCAabccx




各位大大能不能給我這個標(biāo)示的腳本 ?

相等長度字符串組:
ABDCDCDCAAXCXCDCCABABDCDCDCAABXBABDCDCDCAABBCDCCAXDBBXABDCDCDCAABBCDXCCA
BBCDCCABBBABXCDCDCAABBCDXCCABBBBBABDCDCDCAABBCDCCAXBBBABCDAAAXBCDADCAXXX
XABCDCDCAAXBBCCDCCABABDCDCDCAABXBABDABACCCAXCDCDCAABBCDCCABBBXABDCDCDCAA
AACDCCAADCABDCDCDCAABXCDXCXABCDDBABDCDCDCAABBXBXCAABBBABCDAAAXBCDADCABBB
ADCAAAAAXABCDCCCCCDCABXBBCCDCCABABDCDCDCAABXBABDABDCCCAXCDCDCAAAAABBCDCC
XCCCAABDCAAXXAADCCCCCCAACCAAAAAAAAAXBBDCCXACDACDAAXCBBBBBBBAAABCADDCAAXC
XABCDCDCAAXBBCCDCCABABDCDCDCAABXBABDABACCCAXCDCDCAABBCDCCABBBXABDCDCDCAA

輸出為: ?

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
2 [報告]
發(fā)表于 2013-10-26 18:58 |只看該作者
樓主之前在Perl版發(fā)的那題被我轉(zhuǎn)來本版了,你的題目都有一個共同點,第一次看時都是看不懂,要看好幾遍才能看懂~廢話不多說,先來看看我的代碼是否能幫到你~
  1. #樓主給的數(shù)據(jù)
  2. [root@localhost ~]# cat i
  3. ABDCDCDCAAXCXCDCCABABDCDCDCAABXBABDCDCDCAABBCDCCAXDBBXABDCDCDCAABBCDXCCA
  4. BBCDCCABBBABXCDCDCAABBCDXCCABBBBBABDCDCDCAABBCDCCAXBBBABCDAAAXBCDADCAXXX
  5. XABCDCDCAAXBBCCDCCABABDCDCDCAABXBABDABACCCAXCDCDCAABBCDCCABBBXABDCDCDCAA
  6. AACDCCAADCABDCDCDCAABXCDXCXABCDDBABDCDCDCAABBXBXCAABBBABCDAAAXBCDADCABBB
  7. ADCAAAAAXABCDCCCCCDCABXBBCCDCCABABDCDCDCAABXBABDABDCCCAXCDCDCAAAAABBCDCC
  8. XCCCAABDCAAXXAADCCCCCCAACCAAAAAAAAAXBBDCCXACDACDAAXCBBBBBBBAAABCADDCAAXC
  9. XABCDCDCAAXBBCCDCCABABDCDCDCAABXBABDABACCCAXCDCDCAABBCDCCABBBXABDCDCDCAA

  10. #awk腳本1(用于橫向標(biāo)示雜質(zhì))
  11. [root@localhost ~]# cat a1
  12. #!/bin/awk -f
  13. BEGIN{
  14.         FS=OFS="";
  15.         IGNORECASE=1;
  16.         a["a"]=a["A"]=1;
  17.         a["b"]=a["B"]=2;
  18.         a["c"]=a["C"]=3;
  19.         a["d"]=a["D"]=4;
  20. }
  21. {
  22.         for(i=1;i<=NF;i++){
  23.                 if($i=="X"){
  24.                         for(j=i-1;j>=i-a[$(i-1)]&&j>=1;j--){
  25.                                 if($j=="X")break;
  26.                                 $j=tolower($j)
  27.                         }
  28.                         for(j=i+1;j<=i+a[$(i+1)]&&j<=NF;j++){
  29.                                 if($j=="X")break;
  30.                                 $j=tolower($j)
  31.                         }
  32.                         $i=tolower($i)
  33.                 }
  34.         }
  35. }
  36. 1

  37. #awk腳本2(用于行列轉(zhuǎn)換)
  38. [root@localhost ~]# cat a2
  39. #!/bin/awk -f
  40. BEGIN{
  41.         FS=""
  42. }
  43. {
  44.         for(i=1;i<=NF;i++)a[i]=a[i]$i
  45. }
  46. END{
  47.         for(i=1;i<=NF;i++)print a[i]
  48. }

  49. #運行方法和結(jié)果(運行前先賦予腳本a1和a2可執(zhí)行權(quán)限)
  50. [root@localhost ~]# ./a1 i | ./a2 | ./a1 | ./a2
  51. aBDCDCDCaaxcxcdcCABABDCDcDcAabxbaBDCDCDCAABbCdCcaxdbbxaBDCDCDcAAbbcdxcca
  52. bBCDCCABbBabxcdcDCAAbbcdxccaBBbbBABDCDCDCAAbBcDcCaxbbbABCDAAaxbcDADCaxxx
  53. xaBCDCDCaaxbbCCDCCABAbdCdCdCAabxbaBdABACCCaxcdcdCAaBBcDcCABbbxaBDCDCDcaa
  54. aACDCCAAdCabdCDCDCAabxcdxcxaBCDdBABdCDCDCAAbbxbxcaaBBBAbCDAAaxbcDADCAbbB
  55. aDCAAAAaxaBcdCCCCCDCabxbbCcDCCAbABDcDCDCAabxbaBdABdCCCaxcdcDCaAAAABBCdcC
  56. xcccAABDcAaxxaADCCCCCcaAcCaAAAAaAAaxbbdccxacDACdAaxcbbBbBBBAAaBCADDCAaxc
  57. xaBCDCDCaaxbbCCDCCABABDCDCdCAabxbaBdABACCcaxcdcdCAaBBCDcCABbbxaBDCDCDCaA
復(fù)制代碼
說一下我的思路:
1.先將雜質(zhì)橫向標(biāo)示出來,把FS和OFS都設(shè)置為空以便遍歷每個字母和輸出,再將腳本設(shè)置為忽略大小寫以便后面轉(zhuǎn)化為小寫字母后不影響if語句判斷,然后根據(jù)樓主的要求,對A、B、C、D的大小寫分別存入數(shù)組并賦值,然后從第一個字段開始遍歷每個字段,如果該字段為X或x(這就是為什么要設(shè)置忽略大小寫的原因)就從左邊的字段開始,根據(jù)字段對應(yīng)的數(shù)組a的值來判斷有多少個被感染了,然后將感染的轉(zhuǎn)化為小寫字母,如果遇到X就停止循環(huán),再從右邊的字段開始判斷,判斷方法同上,最后將X轉(zhuǎn)化為x;
2.對轉(zhuǎn)化后的結(jié)果進行行列轉(zhuǎn)換;
3.對行列轉(zhuǎn)換后的結(jié)果進行橫向標(biāo)示雜質(zhì);
4.最后再將結(jié)果轉(zhuǎn)換回來。

論壇徽章:
0
3 [報告]
發(fā)表于 2013-10-27 10:30 |只看該作者
啊!! 好厲害!謝謝!
結(jié)果出來的是正確的.

回復(fù) 2# yestreenstars


   

論壇徽章:
15
2015年辭舊歲徽章
日期:2015-03-03 16:54:15雙魚座
日期:2015-01-15 17:29:44午馬
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉雞
日期:2014-04-02 12:24:51雙子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥豬
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大;照
日期:2013-04-17 11:48:45
4 [報告]
發(fā)表于 2013-10-28 07:24 |只看該作者
厲害的, 四個小時之內(nèi)搞定。 還難倒perl/ruby 板塊的同學(xué)。

http://72891.cn/thread-4103214-1-1.html
http://72891.cn/thread-4103213-1-1.html

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
5 [報告]
發(fā)表于 2013-10-28 09:03 |只看該作者
回復(fù) 4# rdcwayx
一開始看不懂時打算放棄的,然后跑去打游戲了,打了一段時間后再回來看看,突然就懂了,呵呵,然后就開始寫代碼了~

   

論壇徽章:
60
20周年集字徽章-20	
日期:2020-10-28 14:04:3015-16賽季CBA聯(lián)賽之北京
日期:2016-07-06 15:42:0715-16賽季CBA聯(lián)賽之同曦
日期:2016-06-12 10:38:0915-16賽季CBA聯(lián)賽之佛山
日期:2016-05-27 11:54:56黃金圣斗士
日期:2015-12-02 11:44:35白銀圣斗士
日期:2015-11-25 14:32:43白銀圣斗士
日期:2015-11-23 12:53:352015亞冠之布里斯班獅吼
日期:2015-10-21 16:55:482015亞冠之首爾
日期:2015-09-01 16:46:052015亞冠之德黑蘭石油
日期:2015-08-31 11:39:192015亞冠之薩濟拖拉機
日期:2015-08-28 21:06:5315-16賽季CBA聯(lián)賽之廣東
日期:2016-07-12 14:58:53
6 [報告]
發(fā)表于 2013-10-28 09:08 |只看該作者
看懂題目是關(guān)鍵,我表示一時半會兒沒看懂

論壇徽章:
93
2015年辭舊歲徽章
日期:2019-10-10 10:51:15CU大;照
日期:2014-02-21 14:21:56CU十二周年紀(jì)念徽章
日期:2020-10-15 16:55:55CU大;照
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大;照
日期:2019-10-10 10:55:38季節(jié)之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季節(jié)之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大;照
日期:2014-02-21 14:23:15
7 [報告]
發(fā)表于 2013-10-28 09:21 |只看該作者
太高級,看不懂,很專業(yè)的問題啊。

論壇徽章:
15
2015年辭舊歲徽章
日期:2015-03-03 16:54:15雙魚座
日期:2015-01-15 17:29:44午馬
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉雞
日期:2014-04-02 12:24:51雙子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥豬
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
8 [報告]
發(fā)表于 2013-10-28 09:30 |只看該作者
本帖最后由 rdcwayx 于 2013-10-28 14:09 編輯

看第二頁的十三樓

論壇徽章:
2
白羊座
日期:2013-11-18 19:52:42辰龍
日期:2014-09-07 07:46:06
9 [報告]
發(fā)表于 2013-10-28 10:08 |只看該作者
本帖最后由 damcool 于 2013-10-29 07:54 編輯

湊湊熱鬧,來個行列統(tǒng)一版。
  1. #!/bin/awk
  2. {
  3.         ord["A"]=1;
  4.         ord["B"]=2;
  5.         ord["C"]=3;
  6.         ord["D"]=4;
  7.         x=0;
  8.         n=split($0,a,"");
  9.         for (i=1;i<=n;i++)
  10.         {
  11.                 if (toupper(a[i])=="X")
  12.                 {
  13.                         x=ord[a[i+1]];
  14.                         b[i]=5;
  15.                         printf "x";
  16.                 }
  17.                 else
  18.                 {
  19.                         if (b[i]==5) b[i]=ord[toupper(a[i])];
  20.                         a1=a[i]a[i+1]
  21.                         a2=a[i]a[i+1]a[i+2]
  22.                         a3=a[i]a[i+1]a[i+2]a[i+3]
  23.                         a4=a[i]a[i+1]a[i+2]a[i+3]a[i+4]
  24.                         if (x>0 || b[i]>0 || match(a1,/[A-D]X/) || match(a2,/[A-D][B-D]X/) || match(a3,/[A-D][A-D][C-D]X/) || match(a4,/[A-D][A-D][A-D]DX/))
  25.                         {
  26.                                 printf tolower(a[i]);
  27.                                 x=(x>0)?--x:0;
  28.                                 b[i]=(b[i]>0)?b[i]-1:0;
  29.                         }
  30.                         else printf a[i];
  31.                 }
  32.         }
  33.         printf "\n";x=0;
  34. }
復(fù)制代碼
運行方式及結(jié)果:
  1. cat /tmp/chars |awk -f scripts/contaminate.awk|tac|awk -f scripts/contaminate.awk|tac
  2. aBDCDCDCaaxcxcdcCABABDCDcDcAabxbaBDCDCDCAABbCdCcaxdbbxaBDCDCDcAAbbcdxcca
  3. bBCDCCABbBabxcdcDCAAbbcdxccaBBbbBABDCDCDCAAbBcDcCaxbbbABCDAAaxbcDADCaxxx
  4. xaBCDCDCaaxbbCCDCCABAbdCdCdCAabxbaBdABACCCaxcdcdCAaBBcDcCABbbxaBDCDCDcaa
  5. aACDCCAAdCabdCDCDCAabxcdxcxaBCDdBABdCDCDCAAbbxbxcaaBBBAbCDAAaxbcDADCAbbB
  6. aDCAAAAaxaBcdCCCCCDCabxbbCcDCCAbABDcDCDCAabxbaBdABdCCCaxcdcDCaAAAABBCdcC
  7. xcccAABDcAaxxaADCCCCCcaAcCaAAAAaAAaxbbdccxacDACdAaxcbbBbBBBAAaBCADDCAaxc
  8. xaBCDCDCaaxbbCCDCCABABDCDCdCAabxbaBdABACCcaxcdcdCAaBBCDcCABbbxaBDCDCDCaA
復(fù)制代碼

論壇徽章:
15
2015年辭舊歲徽章
日期:2015-03-03 16:54:15雙魚座
日期:2015-01-15 17:29:44午馬
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉雞
日期:2014-04-02 12:24:51雙子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥豬
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大;照
日期:2013-04-17 11:48:45
10 [報告]
發(fā)表于 2013-10-28 11:29 |只看該作者
還是沒看到在一條awk內(nèi)搞定的。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP