diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0231def --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +script.sh \ No newline at end of file diff --git a/home_task_2/task11.go b/home_task_2/task11.go new file mode 100644 index 0000000..101bd04 --- /dev/null +++ b/home_task_2/task11.go @@ -0,0 +1,2 @@ +// todo: Дан номер месяца (1 — январь, 2 — февраль, ...). Вывести название соответствующего +// времени года ("зима", "весна" и т.д.) \ No newline at end of file diff --git a/home_task_2/task12.go b/home_task_2/task12.go new file mode 100644 index 0000000..70ef834 --- /dev/null +++ b/home_task_2/task12.go @@ -0,0 +1,3 @@ +// todo: Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, +// 4 — тонна, 5 — центнер. Дан номер единицы массы и масса тела M в этих единицах (вещественное число). +// Вывести массу данного тела в килограммах \ No newline at end of file diff --git a/home_task_2/task13.go b/home_task_2/task13.go new file mode 100644 index 0000000..53abe81 --- /dev/null +++ b/home_task_2/task13.go @@ -0,0 +1,7 @@ +// В восточном календаре принят 60-летний цикл, состоящий из 12- летних подциклов, +// обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. +// В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, +// змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года вывести его название, +// если 1984 год был началом цикла — годом зеленой крысы. + +https://clck.ru/3QWynz \ No newline at end of file diff --git a/home_task_2/task14.go b/home_task_2/task14.go new file mode 100644 index 0000000..7b73f21 --- /dev/null +++ b/home_task_2/task14.go @@ -0,0 +1,8 @@ +//todo: Дан массив размера N. Найти минимальное растояние между одинаковыми значениями в массиве и вывести их индексы. +// Одинаковых значение может быть два и более ! +Пример: +var mass = [...]int{1, 2, 17, 54, 30, 89, 2, 1, 6, 2} + +// Для числа 1 минимальное растояние в массиве по индексам: 0 и 7 +// Для числа 2 минимальное растояние в массиве по индексам: 6 и 9 +// Для числа 17 нет минимального растояния т.к элемент в массиве один. diff --git a/home_task_2/task15.go b/home_task_2/task15.go new file mode 100644 index 0000000..8bde812 --- /dev/null +++ b/home_task_2/task15.go @@ -0,0 +1,2 @@ +//todo: Дан целочисленный массив размера N из 10 элементов. +//Преобразовать массив, увеличить каждый его элемент на единицу. \ No newline at end of file diff --git a/home_task_2/task16.go b/home_task_2/task16.go new file mode 100644 index 0000000..dcbd0e5 --- /dev/null +++ b/home_task_2/task16.go @@ -0,0 +1,5 @@ +// Создайте базовую структуру для персонажа из полей имени, уровня, опыта, класса +// Создайте структуру для хранения уникальных атрибутов Воина, Мага, Лучника с включением базовой структуры. +// Определите общие методы работы с персонажами в интерфейсе +// Реализуйте методы нанесения повреждений, воcстанновления здоровья, супер удара. +// Организуйте бой двух персонажей с нанесением удара и вычислением оставшегося здоровья. \ No newline at end of file diff --git a/home_task_2/task17.go b/home_task_2/task17.go new file mode 100644 index 0000000..3335684 --- /dev/null +++ b/home_task_2/task17.go @@ -0,0 +1,13 @@ +//todo: Заданы массивы +// все пользователи +var all_users = [...]string {'id3', 'id5', 'id9', 'id8', 'id2', 'id1', 'id4', 'id6', 'id7', 'id10'} + +// пользователи не в сети +var offline_users = [...]string {'id3', 'id9', 'id7', 'id2', 'id4', 'id6'} + +Вычислить пользователей online + + + + + diff --git a/home_task_2/task18.go b/home_task_2/task18.go new file mode 100644 index 0000000..d226aec --- /dev/null +++ b/home_task_2/task18.go @@ -0,0 +1,9 @@ +//todo: Заданы массивы + +//Даны читатели книг +var readers_books = [...] string {'id3', 'id5', 'id9', 'id8', 'id2', 'id1' } + +//Даны читатели газет +var readers_magazines = [...] string { 'id8', 'id2', 'id1', 'id4', 'id6', 'id7', 'id10'} + +Найти пользователей кто читает и книги и газеты \ No newline at end of file diff --git a/home_task_2/task19.go b/home_task_2/task19.go new file mode 100644 index 0000000..321ec36 --- /dev/null +++ b/home_task_2/task19.go @@ -0,0 +1,42 @@ +// todo: Реализовать метод Next() для структуры Node !!! +// Реализовать метод подсчёта времени и расстояния calcDistance( x Node, y Node) от узла X до узла Y для структуры Route. + +package main + +import ( + "fmt" +) + +type Node struct { + name string + time int + dist float32 + next *Node +} + +type Route struct { + head *Node + length int +} + + +func (r *Route) insertAtHead(name string, time int, dist float32 ) { + nodeHead := &Node{name, time , dist , nil} + if r.head == nil { + r.head = nodeHead + } else { + temp := r.head + r.head = nodeHead + temp.next = temp + } + r.length += 1 +} + + +func main() { + list := Route{nil, 0} + list.insertAtHead("С", 15, 18) + list.insertAtHead("B", 5, 6) + list.insertAtHead("A", 0, 0) + fmt.Println(list.head) +}