chemtech
@chemtech
Линуксойд, DevOps

Как понять условие задачи https://go-tour-ru-ru.appspot.com/moretypes/18?

Как понять условие задачи https://go-tour-ru-ru.appspot.com/moretypes/18 ?
функцию написал так.
package main

import "golang.org/x/tour/pic"

array = [][]uint8

func Pic(dx, dy int) [][]uint8 {
    for i:=0; i < dy; i++ {
      array[i] = dx
  }
  return array
}

func main() {
  pic.Show(Pic)
}


непонята фраза "Выбор изображения за вами. Среди интересных функций (x+y)/2, x*y и x^y."
  • Вопрос задан
  • 796 просмотров
Пригласить эксперта
Ответы на вопрос 2
@deliro
Отдать двумерный массив uint8, где значения - цвета (число от 0 до 255). Например так:

func Pic(dx, dy int) [][]uint8 {
	result := make([][]uint8, dy)
	
	for i := range result {
		result[i] = make([]uint8, dx)
	}
	
	for i := range result {
		for j := range result[i] {
			result[i][j] = uint8((i + j) / 2)
		}
	}
	
	return result
}
Ответ написан
Комментировать
Вам надо создать слайс из слайсов (двухмерный массив) заданного размера.

Примерно так
package main

import "golang.org/x/tour/pic"

func Pic(dx, dy int) [][]uint8 {
	array := make([][]uint8, dy)
	for y := 0; y < dy; y++ {
		array[y] = make([]uint8, dx)
		for x := 0; x < dx; x++ {
			pixel := uint8((x + y) / 2)
			array[y][x] = pixel
		}
	}
	return array
}

func main() {
	pic.Show(Pic)
}


Функция задаёт зависимость цвета точки от её координаты.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы