Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
yap.doc
Скачиваний:
2
Добавлен:
19.08.2019
Размер:
4.9 Mб
Скачать

Задание 3. Форматированный ввод/вывод в текстовые файлы. Динамические массивы.

Требования к программам:

  1. Необходимо точно выполнять условия задач, при сомнениях консультироваться с преподавателем.

  1. Текст программы должен быть откомментирован.

В заголовке указать:

  • имя автора, группу,

  • формулировку задания.

Имена переменных, функций и проч. должны иметь осмысленные имена. Желательно объявление переменной снабжать комментарием о ее назначении.

  1. Следует структурировать программу, разбивая ее на (относительно) независимые части.

  1. Интерфейс программы должен быть достаточно удобен для пользователя.

Программа должна быть снабжена удобным интерфейсом на базе меню.

  1. Программа должна компилироваться без ошибок и предупреждений при всех включенных сообщениях компилятора.

  1. Программы должны быть хорошо протестированы перед сдачей.

  1. Требования к разделу

  • Программа должна запрашивать имена файлов у пользователя.

  • Программа должна проверять данные в файле на наличие ошибок:

        • Неправильная запись чисел

        • Неверное число элементов в файле (EndOfFile)

        • Ошибка записи

  • Программа должна проверять ошибки: открытия файлов, записи и т.п.

  • Числа и строки файла разделены пробелами, знаками табуляции и символами «новая строка».

  • Программисту заранее не известны размеры последовательностей и матриц, хранящихся в файлах, поэтому если используются массивы, то они должны быть динамическими.

Варианты:

1. Файл f1 содержит:

  • Размерность матрицы N;

  • Элементы квадратной матрицы А, записанные по строкам.

Получить матрицу A2, записать ее в файл f2.

2. Дана матрица A m x n и матрица B n x r.

Размерности m, n и r ввести с клавиатуры, матрицы заполнить случайными целыми

числами.

Получить матрицу C=A*B и записать ее в файл.

3. Файл f1 содержит:

  • Размерности матрицы М и N;

  • Элементы матрицы А, записанные по строкам.

Получить матрицу B m x n. Матрица B – есть матрица А,

транспонированная относительно главной диагонали.

Полученную матрицу В записать в файл по строкам.

4. Файл f1 содержит:

  • Размерности матрицы М и N;

  • Элементы матрицы А, записанные по строкам.

Получить матрицу C=A* AT. (Матрица AT – есть матрица А, транспонированная

относительно главной диагонали.)

Полученную матрицу С записать в файл по строкам.

5. Файл f1 содержит:

  • Размерность матрицы N;

  • Элементы квадратной матрицы А, записанные по строкам.

Получить матрицу C=А*E, где E ­– единичная матрица порядка N.

Полученную матрицу С записать в файл по строкам.

6. Файл f1 содержит:

число чисел, записанных в файл;

  • далее - последовательность №1 целых положительных чисел в 16-й системе счисления.

Последовательность №1 считать из файла и записать в динамический массив.

Из динамического массива записать в файл f2 числа, делящиеся на 3 без остатка в 10-ой системе счисления.

Вывести на экран содержимое файла f2 (считывать из файла).

Вывод в файл f2 разбить на строки по 80 символов.

7. Файл f1 содержит последовательность №1 целых чисел (положительные и отрицательные) в 10-й системе счисления.

Вывести на экран содержимое файла f1 .

Записать в файл f2 числа из последовательности №1 в 2-ой системе счисления, отрицательные числа выводить в дополнительном коде.

Записать в файл f3 числа из последовательности №1 в 8-ой системе счисления.

Вывод в файлы f2 и f3 разбить на строки по 80 символов.

8. Файл f1 содержит последовательность №1 целых положительных чисел в 3-й системе счисления.

Вывести на экран содержимое файла f1 .

Последовательность №1 считать из файла и записать в динамический массив.

Из динамического массива записать (в 10-ой системе счисления) в файл f2 числа, делящиеся на 3 без остатка.

Вывод в файлы f2 разбить на строки по 80 символов.

9. Файл f1 содержит:

  • число неизвестных линейной системы уравнений N;

  • далее - коэффициенты системы линейных уравнений, заданые в виде матрицы N*N;

Файл f2 содержит:

  • число неизвестных линейной системы уравнений N;

  • далее – вектор правой части системы линейных уравнений (N вещественных чисел);

Написать программу, реализующую алгоритм решения линейной системы уравнений методом Гаусса.

Вектор результата записать в файл f3.

10. Файл f1 содержит:

  • число неизвестных линейной системы уравнений N;

  • далее - коэффициенты системы линейных уравнений, заданые в виде матрицы N*N;

С помощью допустимых преобразовании привести систему к треугольному виду.

Результирующую матрицу записать в файл f3.

11. Файл f1 содержит:

  • число m1 строк матрицы M1;

  • число n1 столбцов матрицы M1;

  • далее – вещественные элементы матрицы M1;

Файл f2 содержит:

  • число m2 строк матрицы M2;

  • число n2 столбцов матрицы M2;

  • далее – вещественные элементы матрицы M2;

В файл f3 записать произведение М3=М1*M2. Вычисление произведение матриц должно быть оформлено отдельной функцией.

Прим.: одна или обе матрицы могут быть векторами; проверить правильность размерностей умножаемых матриц.

12. Файл f1 содержит последовательность №1 целых положительных чисел в 10-й системе счисления.

Вывести на экран содержимое файла f1 .

В файл f2 записать таблицу:

Число из

Посл. №1

Число вхождений

числа в посл.№1

т.е. подсчитать сколько раз число n встречается в файле.

13. В файле f1 задана матрица N*N, состоящая из нулей и единиц.

Файл f1 содержит:

  • число N;

  • далее – элементы матрицы;

Считая, что данная матрица задает неориентированный граф, реализуйте программу, определяющую является ли этот граф связанным или нет (т.е. разбивается на несколько связных частей).

В файл f2 вывести построчно вершины связных частей графа (для каждой связной части своя строка).

14. Файл f1 содержит 6-ть вещественных чисел: x1 y1 x2 y2 x3 y3 , которые являются координатами вершин треугольника.

Вывести на экран содержимое файла f1 .

В файл f2 записать внутренние углы треугольника.

15. Файл f1 содержит:

  • m - число строк и столбцов квадратной матрицы M;

  • далее – вещественные элементы матрицы M1;

В файл f2 записать вектор, состоящий из элементов главной диагонали и сумму элементов, расположенных на главной диагонали (след матрицы).

16. Файл f1 содержит последовательность №1 целых положительных чисел в 10-й системе счисления.

Записать в файл f2 четные числа из последовательности №1 в 2-ой системе счисления.

Записать в файл f3 нечетные числа из последовательности №1 в 16-ой системе счисления.

Вывод в файлы f2 и f3 разбить на строки по 80 символов.

17. Файл f1 содержит:

  • число чисел, записанных в файл;

  • далее - последовательность №1 целых положительных чисел в 8-й системе счисления.

Последовательность №1 считать из файла и записать в динамический массив.

Из динамического массива записать (в 3-ой системе счисления) в файл f2 числа, делящиеся на 3 без остатка.

Вывести на экран содержимое файла f2 (считывать из файла).

Вывод в файл f2 разбить на строки по 80 символов.

18. Файл f1 содержит последовательность №1 целых чисел (положительные и отрицательные) в 10-й системе счисления.

Вывести на экран содержимое файла f1 .

Записать в файл f2 четные числа из последовательности №1 в 2-ой системе счисления, отрицательные числа выводить в дополнительном коде.

Записать в файл f3 нечетные числа из последовательности №1 в 16-ой системе счисления.

Вывод в файлы f2 и f3 разбить на строки по 80 символов.

19. Файл f1 содержит последовательность №1 целых положительных чисел в 2-й системе счисления.

Вывести на экран содержимое файла f1 .

Последовательность №1 считать из файла и записать в динамический массив.

Из динамического массива записать в файл f2 в 10-ой системе счисления числа, на которые число 120 делится без остатка.

Вывод в файлы f2 разбить на строки по 80 символов.

20. Файл f1 содержит:

  • число m1 строк матрицы M1;

  • число n1 столбцов матрицы M1;

  • далее – вещественные элементы матрицы M1;

Файл f2 содержит:

  • число m2 строк матрицы M2;

  • число n2 столбцов матрицы M2;

  • далее – вещественные элементы матрицы M2;

В файл f3 записать сумма М3=М1+M2. Вычисление суммы матриц должно быть оформлено отдельной функцией.

Прим.: проверить правильность размерностей суммируемых матриц.

21. Файл f1 содержит 6-ть вещественных чисел: x1 y1 x2 y2 x3 y3 , которые являются координатами вершин треугольника.

Вывести на экран содержимое файла f1 .

В файл f2 записать периметр и площадь треугольника.

22. Файл f1 содержит:

  • m - число строк и столбцов квадратной матрицы M;

  • далее – вещественные элементы матрицы M1;

В файл f2 записать вектор, состоящий из элементов столбца, у которого сумма элементов минимальна и вектор, состоящий из элементов строки, у которой сумма элементов максимальна.

23. Файл f1 содержит:

  • m - число строк прямоугольной матрицы M;

  • n - число столбцов прямоугольной матрицы M;

  • далее – вещественные элементы матрицы M1;

В файл f2 записать транспонированную матрицу.

24. В файле f1 задана матрица N*N, состоящая из нулей и единиц.

Файл f1 содержит:

  • число N;

  • далее – элементы матрицы;

Считая, что данная матрица задает неориентированный граф, реализуйте программу, определяющую является данная матрица правильно задающей неориентированный граф. Если матрица неправильна – скорректировать ее.

В файл f2 вывести скорректированную (правильную) матрицу.

25. Файл f1 содержит:

  • число чисел, записанных в файл;

  • далее - последовательность вещественных чисел.

Составить программу, которая считывает последовательность в динамический массив и изменяет значение его компонент по правилу:

где aj и aj означают соответственно новое и старое значение элемента массива с индексом j. В программе разрешается описать только один вектор.

В файл f2 вывести измененную последовательность.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]