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

Задание 1

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

Задание 2

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