Ladies_Man

Наибольшее число

Mar 5th, 2014
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.86 KB | None | 0 0
  1. package main
  2.  
  3. import "fmt"
  4. import "strconv"
  5.  
  6. func main() {
  7.         var bubble func(n int, a []int)
  8.     bubble = func(n int, a []int) {
  9.         var bound, i, t int = 0, 0, n - 1
  10.  
  11.         var combo func(a, b int) int
  12.         combo = func(a, b int) int {
  13.             abt := strconv.Itoa(a) + strconv.Itoa(b)
  14.             bat := strconv.Itoa(b) + strconv.Itoa(a)
  15.             ab, _ := strconv.Atoi(abt)
  16.             ba, _ := strconv.Atoi(bat)
  17.             if ab > ba {
  18.                 return 1
  19.             } else {
  20.                 return 0
  21.             }
  22.             return 5
  23.         }
  24.         for t > 0 {
  25.             bound, t, i = t, 0, 0
  26.             for i < bound {
  27.                 if 0 != combo(a[i+1], a[i]) {
  28.                     a[i+1], a[i] = a[i], a[i+1]
  29.                     t = i
  30.                 }
  31.                 i++
  32.             }
  33.         }
  34.         return
  35.     }
  36.  
  37.     var n, x, i int
  38.     fmt.Scanf("%d", &n)
  39.     i = 0
  40.     a := make([]int, 0, 0)
  41.  
  42.     for i < n {
  43.         fmt.Scanf("%d", &x)
  44.         a = append(a, x)
  45.         i++
  46.     }
  47.  
  48.     bubble(n, a)
  49.  
  50.     for _, x := range a {
  51.         fmt.Printf("%d", x)
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment