Задачи посложнее

  1. В условиях задачи про таблицы символов на основе двумерных массивов. Заданы два набора индексов \(i_1\), \(j_1\) и \(i_2\), \(j_2\). Нарисуйте линию между клетками с соответствующими координатами, Воспользуйтесь алгоритмом Брезенхэма из википедии.
  2. Дан массив длины \(n + 1\), состоящий из чисел от 1 до n, причем все числа, кроме одно, повторяются ровно один раз. Какое число повторяется дважды? Выполните только один проход по массиву, иначе не считается.
  3. А если заранее неизвестно, из каких чисел состоит массив? Известно только, что все числа встречаются ровно один раз кроме одного, которое встречается дважды.
  4. Даны m, n. Создайте массив символов \(m\times n\), в котором нарисована спираль из символов o. Спираль начинается в левом верхнем углу, идет направо до конца, потом идет вниз, потом влево, потом поднимается вверх и, не доходя до уже написанного o одну клетку, уходит вправо, и т.д. Процесс продолжается, пока удается рисовать спираль, чтобы расстояния между линиями спирали были хотя бы в одну клетку. При m = 5, n = 6 должно получиться следующее (вместо пробелов для наглядности поставлены символы ·)
     oooooo
     ·····o
     oooo·o
     o····o
     oooooo