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."
  • Вопрос задан
  • 258 просмотров
Пригласить эксперта
Ответы на вопрос 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)
}


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

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

Войти через центр авторизации
Похожие вопросы
EVEN Foundation Москва
от 130 000 руб.
Xsolla Пермь
от 50 000 до 120 000 руб.
EVEN Foundation Москва
от 120 000 до 200 000 руб.
27 июн. 2019, в 01:26
50000 руб./за проект
27 июн. 2019, в 00:27
250000 руб./за проект