Язык программирования С, лабораторная работа 2.
Указатели и массивы, строки, массивы строк

Задание 1

Дано натуральное значение N. Создать квадратную матрицу N*N, заполнить ее нулями и предложить пользователю двухуровневое меню управления матрицей:
  1. Вывод содержимого матрицы
  2. Заполнение матрицы
    1. Вывести содержимое матрицы
    2. Обнулить матрицу
    3. Заполнить матрицу случайными значениями
    4. Изменить элемент матрицы по его координатам
    5. Выйти в предыдущее меню
  3. Матричные операции
    1. Вывести содержимое матрицы
    2. Повернуть матрицу на 90 градусов по часовой стрелке
    3. Повернуть матрицу на 90 градусов против часовой стрелки
    4. Транспонировать матрицу
    5. Выйти в предыдущее меню
  4. Завершить работу с программой
В каждый момент времени на экране должен отображаться отображается только один уровень меню. Пункты меню 1, 2.1-2.4, 3.1-3.4 должны быть реализованы в виде функций с передачей им матрицы и количества ее строк/столбцов в качестве параметров. Созданные функции не должны зависеть от внешних переменных. Функции 2.2-2.4 и 3.2-3.4 должны сообщить о результатах своей работы вызовом функции вывода содержимого матрицы.

Задание 2

Разработать утилиту, которая будет выводить на экран содержимое переменных окружения, имена которых переданы в командной строке:
  1. Каждая переменная выводится в двух строках: имя и значение. Затем - пустая строка-разделитель.
  2. При отсутствии параметров в командной строке утилита должна выводить правила своего использования.
  3. При отсутствии в окружении искомой переменной, утилита должна выводить пустую строку вместо значения переменной.