Advertisement
pVinc

unikalne.go

Nov 5th, 2019
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 1.29 KB | None | 0 0
  1. package main
  2. import "fmt"
  3.  
  4. type itab []int
  5.  
  6. func (a itab) zlicz(elem int) int {
  7.         rezult := 0
  8.         for i:=0; i<=len(a)-1; i++ {
  9.                 if a[i] == elem {
  10.                         rezult++
  11.                 }
  12.         }
  13.         return rezult
  14. }
  15.  
  16. func (a itab) istnieje(elem int) bool {
  17.         for i:=0; i<=len(a)-1; i++ {
  18.                 if a[i] == elem {
  19.                         return true
  20.                 }
  21.         }
  22.         return false
  23. }
  24.  
  25. func (a itab) unikalne() int {
  26.         rezult := 1
  27.         for i:=1; i<=len(a)-1; i++ {
  28.                 k := 0
  29.                 for j:=0; j<i; j++ {
  30.                         if a[i] == a[j] {
  31.                                 break
  32.                         }
  33.                         k++
  34.                 }
  35.                 if i==k {
  36.                         rezult++
  37.                 }
  38.         }
  39.         return rezult
  40. }
  41.  
  42. func main(){
  43.         a := itab{1, 2, 2, 5, 3, 3, 3, 1, 9, 9, 9, 9}
  44.         b := make(itab, a.unikalne())
  45.         j:=0;
  46.         for i:=0; i<=len(a)-1; i++ {
  47.                 if !b.istnieje(a[i]){
  48.                         b[j] = a[i]
  49.                         j++;
  50.                 }
  51.         }
  52.  
  53.         for i:=0; i<=len(b)-1; i++ {
  54.                 fmt.Println(b[i], ": ", a.zlicz(b[i]))
  55.         }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement