class Node:
def __init__(self, val):
self.l = None
self.r = None
self.v = val
class Tree:
def __init__(self):
self.root = None
def getRoot(self):
return self.root
def add(self, val):
if self.root is None:
self.root = Node(val)
else:
self._add(val, self.root)
def _add(self, val, node):
if val < node.v:
if node.l is not None:
self._add(val, node.l)
else:
node.l = Node(val)
else:
if node.r is not None:
self._add(val, node.r)
else:
node.r = Node(val)
def find(self, val):
if self.root is not None:
return self._find(val, self.root)
else:
return None
def _find(self, val, node):
if val == node.v:
return node
elif (val < node.v and node.l is not None):
return self._find(val, node.l)
elif (val > node.v and node.r is not None):
return self._find(val, node.r)
def deleteTree(self):
# garbage collector will do this for us.
self.root = None
def printTree(self):
if self.root is not None:
self._printTree(self.root)
def _printTree(self, node):
if node is not None:
self._printTree(node.l)
print(str(node.v) + ' ')
self._printTree(node.r)
# 3
# 0 4
# 2 8
tree = Tree()
tree.add(3)
tree.add(4)
tree.add(0)
tree.add(8)
tree.add(2)
tree.printTree()
print(tree.find(3).v)
print(tree.find(10))
tree.deleteTree()
tree.printTree()
Объяснение:
int n = Convert.ToInt32(Console.ReadLine())
Объяснение:
Это Ввод данных. Первые две задачи выполнены хорошо. Если хочешь вводить число n , то в вызове метода убери параметры и оставь свободным.
static void Main()
{
(10,45);
ShowSequenceOfOddNumbers(5);
CreateAndShowArray(); // Вот так
}
А чтоб вводить число добавь строку "Ввода данных"
int n = Convert.ToInt32(Console.ReadLine())
Например:
tatic void CreateAndShowArray() // Пустой параметр
{
int n = Convert.ToInt32(Console.ReadLine())
long p = 1;
for (int i = 0; i < n; i++)
{
a[i] = new Random().Next(0, 100);
Console.Write(a[i] + " ");
p *= a[i];
}
Алгоритмы и величины.
13 Исполнитель Чертежник и работа с ним
13.1. Особенности записи чисел в информатике
В информатике для отделения целой части числа от дробной используется точка, а не запятая, как в школьной математике (например, 1.7 или 2.5). Это позволяет записывать несколько рядом стоящих чисел через запятую без риска вызвать путаницу (например, 1.7, 2.5, -11.3, 2, 3.14). При задании точек плоскости координаты х и у в информатике разделяются запятой (рис. 37).
Рис. 37
13.2. Исполнитель Чертежник
Чертежник предназначен для построения рисунков, чертежей, графиков и т. д. на бесконечном листе бумаги. Чертежник имеет перо, которое можно поднимать, опускать и перемещать. При перемещении опущенного пера за ним остается след — отрезок от старого положения пера до нового. Всего Чертежник умеет выполнять четыре команды:
опустить перо
поднять перо
сместиться в точку (арг вещ х, у)
сместиться на вектор (арг вещ а, b)
По команде опустить перо Чертежник опускает перо. Если перо уже было опущено, Чертежник не выполняет никаких действий, но и отказа не происходит. Таким образом, после выполнения команды опустить перо перо оказывается опущенным (готовым к рисованию) независимо от его предыдущего положения.
Аналогично по команде поднять перо перо будет поднято. Выполнение этой команды тоже не может привести к отказу.
Команды сместиться в точку и сместиться на вектор перемещают перо Чертежника. Если при этом перо опущено, на бумаге остается след. Таким образом, эти команды позволяют строить чертежи и рисунки.
13.3. Команды с параметрами
В отличие от Робота, который всегда двигался ровно на одну клетку, смещение Чертежника может быть произвольным. Поэтому для выполнения команд сместиться в точку и сместиться на вектор необходимо задать дополнительную информацию — указать, куда надо переместить перо Чертежника.
Эта дополнительная информация записывается в команде в виде аргументов — вещественных (действительных) чисел, которые помещаются в скобках после имени команды. Например: сместиться в точку (2, 3) или сместиться на вектор (1.4, 2.3).
Необходимость аргументов указывается в описании команды:
сместиться в точку (арг вещ х, у)
сместиться на вектор (арг вещ а, b)
Подробнее смысл слов арг и вещ раскрывается в § 14.