Advertisement
Guest User

Alex

a guest
Feb 21st, 2011
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TCL 1.40 KB | None | 0 0
  1. set st [gets stdin]
  2.  set n [string length $st]
  3.  set s [split $st {}]
  4.  set i 0
  5.  set ok 1
  6.  set count 0
  7.  foreach c $s {
  8.      set i [expr {$i + 1}]
  9.  
  10.      #puts $c
  11.      
  12.      if {$ok == 1} {
  13.          set tmp 0
  14.          set dot 0
  15.          if {"a" <= $c && $c <= "z"} {
  16.              #puts -nonewline "letter "
  17.              set tmp 1
  18.              set dot 0
  19.          }
  20.          if {"0" <= $c && $c <= "9"} {
  21.              #puts -nonewline "digit "
  22.              set tmp 1
  23.              set dot 0
  24.          }
  25.          if {$c == "."} {
  26.              #puts -nonewline "dot "
  27.              set tmp 1
  28.              set dot 1
  29.          }
  30.          if {$tmp == 0} {
  31.              set ok 0
  32.          }
  33.          if {$ok == 1} {
  34.              if {$count == 0 && $dot != 0} {
  35.                  set ok 0
  36.              }
  37.              if {$ok == 1 && $dot == 0} {
  38.                  set count [expr {$count + 1}]
  39.              }
  40.              if {$ok == 1 && $dot != 0} {
  41.                  set count 0
  42.              }
  43.             #puts -nonewline $ok
  44.             #puts -nonewline " "
  45.             #puts -nonewline $count
  46.             #puts -nonewline " "
  47.             #puts -nonewline $dot
  48.             #puts ""                                      
  49.          }
  50.      }
  51.      
  52.  }
  53.  if {$count < 2 || $count > 3} {
  54.      set ok 0
  55.      # puts "OLOLO"
  56.  }
  57.  if {$ok == 1} {
  58.      puts "YES"
  59.  }
  60.  if {$ok == 0} {
  61.      puts "NO"
  62.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement