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


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

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

Войти через TM ID
Похожие вопросы
Cryptology Москва
от 2 500 до 4 000 eur.
Effective Technologies Нижний Новгород
от 70 000 руб.
Sports.ru Москва
До 230 000 руб.
22 янв. 2019, в 00:48
60 руб./за 1000 зн.
22 янв. 2019, в 00:09
120000 руб./в месяц
21 янв. 2019, в 23:37
1000 руб./за проект