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


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

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

Войти через центр авторизации
Похожие вопросы
Fastdev AB Ижевск
До 110 000 руб.
OTUS Москва
от 40 000 до 100 000 руб.
Devmasterz Санкт-Петербург
от 3 000 usd.
19 марта 2019, в 17:34
5000 руб./за проект
19 марта 2019, в 17:24
1000 руб./за проект
19 марта 2019, в 17:18
35000 руб./за проект