Численные методы решения уравнений 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Численные методы решения уравнений



Довольно часто на практике приходится решать уравнения вида:

(1)

где функция определена и непрерывна на некотором конечном или бесконечном интервале

a < x < b.

Всякое значение такое, что , называется корнем уравнения, а нахождение этого значения и есть решение уравнения.

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

Существует множество численных методов решения уравнений вида (1). Рассмотрим только три из них:

· метод итераций;

· метод Ньютона;

· метод половинного деления.

Метод итераций

Представим уравнение в виде:

(2)

Это уравнение получается выделением x из уравнения и переносом того, что осталось, т.е. , в левую часть уравнения. Иначе можно получить уравнение (2) следующим способом: левую и правую часть уравнения (1) умножить на произвольную константу l и прибавить к левой и правой части х, т.е. получаем уравнение вида:

(3)

где .

На заданном отрезке [ a; b ] выберем точку х 0 – нулевое приближение – и найдем

,

потом найдем:

,

и т.д.

Таким образом, процесс нахождения корня уравнения сводится к последовательному вычислению чисел:

n = 1, 2, 3......

Этот процесс называется методом итераций.

Если на отрезке [ a; b ] выполнено условие:

,

то процесс итераций сходится, т.е.

Процесс итераций продолжается до тех пор, пока

,

где – заданная абсолютная погрешность корня х. При этом будет выполняться:

.

Метод Ньютона

Пусть уравнение имеет один корень на отрезке [ a; b ], причем и определены, непрерывны и сохраняют постоянные знаки на отрезке [ a; b ].

Выберем на отрезке[ a; b ] произвольную точку х 0 – нулевое приближение. Затем найдем:

,

потом

Таким образом, процесс нахождения корня уравнения сводится к вычислению чисел xn по формуле:

n = 1, 2, 3.....

Этот процесс называется методом Ньютона.

Процесс вычисления продолжается до тех пор, пока не будет выполнено условие:

,

где – заданная абсолютная погрешность корня х.

Точку х 0 необходимо выбирать так, чтобы выполнялось условие:

,

иначе метод не будет сходиться.

 

Метод половинного деления

Пусть уравнение имеет один корень на отрезке [ a, b ]. Функция непрерывна на отрезке [ a, b ].

Метод половинного деления заключается в следующем:

Сначала выбираем начальное приближение, деля отрезок пополам, т.е.

.

Если , то x 0 является корнем уравнения. Если , то выбираем тот из отрезков, на концах которого функция имеет противоположные знаки. Полученный отрезок снова делим пополам и выполняем действия сначала и т.д.

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

.

 

Варианты задания

Уравнение Отрезок, содержащий корень Метод Значение корня с точностью 10 - 4
  [2;3] Итераций 2,2985
  [0;2] Ньютона 1,0001
  [0;0,85] Итераций 0,2624
  [1;2] Ньютона 1,1183
  [0;8] Половинного деления 0,3333
  [0;1] Итераций 0,5629
  [2;4] Ньютона 3,2300
  [1;2] Половинного деления 1,8756
  [0;1] Итераций 0,7672
  [0;1] Ньютона 0,8814
  [1;3] Половинного деления 1,3749
  [1,2;2] Итераций 1,3077
  [3;4] Ньютона 3,5265
  [1;2] Половинного деления 1,0804
  [0;1,5] Итераций 1,1474
  [1;3] Ньютона 2,0692
  [0;1] Половинного деления 0,5768
  [0,5;1] Итераций 0,9892
  [1;3] Ньютона 1,8832
  [0;1] Половинного деления 0,1010
  [2;3] Итераций 2,0267
  [0,4;1] Ньютона 0,6533
  [-1;0] Половинного деления -0,2877
  [2;3] Итераций 2,8459
  [4;6] Ньютона 4,0002
  [0;2] Половинного деления 0,5398
  [4;7] Итераций 6,0000
  [1;2] Ньютона 1,5708

 

Задание 2. Перегрузка функций

Напишите перегруженные функции и основную программу, которая их вызывает.

1. а) для сложения целых чисел;

б) для нахождения суммы комплексных чисел.

2. а) для сложения вещественных чисел;

б) для нахождения суммы комплексных чисел.

3. а) для двух вещественных чисел решает линейное уравнение;

б) для трех вещественных чисел решает квадратное уравнение в действительных числах.

4. а) для вычитания целых чисел;

б) для нахождения разности комплексных чисел.

5. а) для умножения вещественных чисел;

б) для нахождения произведения комплексных чисел.

6. а) для вычитания вещественных чисел;

б) для нахождения разности комплексных чисел.

7. а) для деления целых чисел;

б) для нахождения частного комплексных чисел.

8. а) по номеру года выдает его название по старояпонскому календарю;

б) по названию месяца выдает преобладающий знак Зодиака (например, для января – Козерог).

9. а) для сложения десятичных дробей;

б) для сложения обыкновенных дробей.

10. а) для вычитания десятичных дробей;

б) для вычитания обыкновенных дробей.

11. а) для умножения десятичных дробей;

б) для умножения обыкновенных дробей.

12. а) для деления десятичных дробей;

б) для деления обыкновенных дробей.

13. а) для преобразования десятичной дроби в обыкновенную;

б) для преобразования обыкновенной дроби в десятичную.

14. а) для вычисления логарифма по произвольному основанию;

б) для вычисления десятичного логарифма.

15. а) целые числа возводит в степень n;

б) из вещественных чисел извлекает корень степени n.

16. а) для перевода градусы в градусы, минуты и секунды;

б) для перевода градусов, минут и секунд в секунды.

17. а) для двух целых чисел находит их среднее арифметическое;

б) для двух вещественных чисел находит их среднее геометрическое.

18. а) для трех целых чисел находит максимальное число;

б) для трех вещественных чисел находит их среднее арифметическое.

19. а) для трех целых чисел находит минимальное число;

б) для трех вещественных чисел находит среднее их геометрическое.

20. а) для четырех целых чисел находит количество четных чисел;

б) для четырех вещественных чисел находит количество положительных чисел.

21. а) для четырех целых чисел находит количество нечетных чисел;

б) для четырех вещественных чисел находит количество отрицательных чисел.

22. а) для целого числа находит следующее за ним;

б) для вещественного числа находит сумму цифр целой части.

23. а) для перевода градусов, минут и секунд (целые числа) в радианы;

б) для перевода радианов в градусы

24. а) для перевода секунд (целое число) в часы, минуты и секунды;

б) для перевода часов (вещественное число) в часы и минуты.

25. а) для умножения целых чисел;

б) для нахождения произведения комплексных чисел.

26. а) для двух целых чисел находит НОК этих чисел;

б) для трех целых чисел находит НОД этих чисел.

27. а) для координат двух точек А (x1, y1) и B (x2, y2) находит площадь круга радиуса AB;

б) для координат двух точек А (x1, y1, z1) и B (x2, y2, z2) находит объем шара радиуса AB.

28. а) для координат двух точек А (x1, y1) и B (x2, y2) находит длину окружности радиуса AB;

б) для координат двух точек А (x1, y1, z1) и B (x2, y2, z2) находит площадь сферы радиуса AB.

 

Задание 3. Строки

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

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

3. В языке используется латинский алфавит. Глагол прошедшего времени получается из глагола настоящего времени изменением порядка следования гласных (а, о, u, i, е) на обратный. Согласные остаются на своих местах. Например, глагол padbote преобразуется в pedbota. Задается глагол настоящего времени. Преобразовать его в глагол прошедшего времени и напечатать.

4. Дана строка-предложение из символов латинского алфавита. Вывести самое короткое слово в предложении (если таких слов несколько, то вывести первое из них).

5. Дана строка, состоящая из символов латинского алфавита, разделенных пробелами (одним или несколькими). Определить количество слов, которые содержат ровно три буквы ' А '.

6. Дана строка из символов латинского алфавита. Проверьте правильность расстановки тега <td>: каждому открытому тегу должен соответствовать закрытый </td>.

7. Дана строка, состоящая из символов латинского алфавита, разделенных пробелами (одним или несколькими). Определить длину самого длинного слова.

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

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

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

11. В предложении, состоящем из слов, разделенных одним пробелом, заменить первую букву у слов, следующих за словами die, der, das, на прописную.

12. Дана строка, состоящая из символов латинского алфавита, разделенных пробелами (одним или несколькими). Преобразовать каждое слово в строке, удалив из него все вхождения заданного символа (количество пробелов между словами не изменять).

13. Дана строка-предложение из символов латинского алфавита. Преобразовать строку так, чтобы каждое слово начиналось с заглавной буквы.

14. Дана строка-предложение из символов латинского алфавита. Вывести самое длинное слово в предложении (если таких слов несколько, то вывести последнее из них).

15. Определить, сколько раз в строке встречается заданное слово.

16. В записке слова зашифрованы – каждое из них записано наоборот. Расшифровать сообщение.

17. Дана строка из восьми цифровых символов. Переведите ее в формат даты " dd-mm-yyyy " и проверьте корректность такой даты.

18. Дана строка, состоящая из символов латинского алфавита, разделенных пробелами (одним или несколькими). Определить количество слов, которые содержат введенный символ.

19. Выясните, имеются ли среди введенных символов все буквы, входящие в слово " yandex ".

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

21. В английском предложении слова разделены одним пробелом. Во всех словах, следующих за артиклями а и the, первую букву заменить на прописную. Написать программу, выполняющую эту работу.

22. Написать программу, определяющую, какой процент слов в английском тексте содержит удвоенную согласную.

23. В языке используется латинский алфавит, причастие всегда оканчивается суффиксом " ings ". Задана строка слов, в которой слова отделяются одним или несколькими пробелами. Напечатать причастия, имеющиеся в этой строке.

24. Дана строка из малых символов латинского алфавита. Замените каждый символ на следующий за ним по алфавиту, символ ' z ' замените на ' a '.

25. Дана строка из символов латинского алфавита. Замените все вхождения строки " two " на символ ' 2 '.

26. Отредактировать заданное предложение, удаляя из него те слова, которые встречаются в предложении заданное число раз.

27. Определите, какой процент от каждого слова составляют входящие в него цифры.

28. Дан текст, состоящий из символов латинского алфавита, пробелов и знаков пунктуации. Найдите самую часто встречаущуюся гласную букву (без учета регистра).

 

Задание 4. Одномерный массив: преобразование массива

Решите задачи данной группы, оформив решение в виде функций генерации, вывода и обработки массивов. Предусмотрите в функции генерации массива ввод границ диапазона случайных чисел.

 

1. Заменить все положительные элементы целочисленного массива, состоящего из n элементов, на значение минимального.

2. Дан массив, состоящий из n элементов. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами.

3. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Заменить каждую серию, длина которой больше k, на один наименьший элемент массива. Если таких серий нет, то массив оставить без изменений.

4. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Преобразовать массив, увеличив первую серию наибольшей длины на один элемент.

5. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Вставить перед каждой серией минимальный элемент массива.

6. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Поменять местами наибольшую первую и k -ю серии массива. Если таких серий в массиве меньше k, то вывести массив без изменений.

7. Дан целочисленный массив, состоящий из n элементов. Удалить из массива все элементы, встречающиеся менее двух раз.

8. Дан массив, состоящий из n элементов. Преобразовать его, вставив перед каждым положительным элементом минимальный элемент.

9. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Преобразовать массив, увеличив каждую его серию на один элемент.

10. Заменить все отрицательные элементы целочисленного массива, состоящего из n элементов, на значение максимального.

11. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Удалить из массива все серии, длина которых меньше k.

12. Дан целочисленный массив, состоящий из n элементов. Удалить из массива все элементы, встречающиеся более двух раз.

13. Дан массив, состоящий из n элементов. Преобразовать его, вставив после каждого отрицательного элемента минимальный элемент.

14. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Преобразовать массив, увеличив все серии наибольшей длины на один элемент.

15. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Поменять местами наименьшую последнюю и k -ю серии массива. Если таких серий в массиве меньше k, то вывести массив без изменений.

16. Заменить все положительные элементы целочисленного массива, состоящего из n элементов, на значение максимального.

17. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Удалить из массива все серии, длина которых больше k. Если таких серий нет, то массив оставить без изменений.

18. Дан целочисленный массив, состоящий из n элементов. Удалить из массива все элементы, встречающиеся ровно два раза.

19. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Заменить каждую серию, длина которой равна k, на один элемент, равный сумме наибольшего и наименьшего элементов массива.

20. Дан массив, состоящий из n элементов. Преобразовать его, вставив перед каждым отрицательным элементом максимальный элемент.

21. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Преобразовать массив, уменьшив каждую его серию на один элемент.

22. Даны два массива A и B, состоящие из n элементов каждый, элементы которых упорядочены по убыванию. Объединить эти массивы так, чтобы результирующий массив остался упорядоченным

23. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Вставить после каждой серии максимальный элемент массива.

24. Заменить все отрицательные элементы целочисленного массива, состоящего из n элементов, на значение минимального.

25. Дан массив, состоящий из n элементов. Преобразовать его, вставив после каждого положительного элемента максимальный элемент.

26. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Заменить каждую серию, длина которой меньше k, на один наибольший элемент массива.

27. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Поменять местами первую и последнюю серии наибольшей длины. Если серия с максимальной длиной единственная, то массив не изменять.

28. Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии – количество этих элементов (длина серии может быть равна 1). Переставить первую серию минимальной длины с последней серией максимальной длины. Если максимальная длина равна минимальной, то меняются первые и последние серии.

 

Задание 5. Одномерный массив: сортировка массива

Решите задачи данной группы, оформив решение в виде функций генерации, вывода и обработки массивов. Предусмотрите в функции генерации массива ввод границ диапазона случайных чисел.

 

1. Отсортируйте в массиве нечетные элементы по убыванию.

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

3. Сортировка подсчетом. Выходной массив заполняется значениями –1. Затем для каждого элемента определяется его место в выходном массиве путем подсчета количества элементов, строго меньших данного. Естественно, что все одинаковые элементы попадают на одну позицию, за которой следует ряд значений –1. После этого оставшиеся в выходном массиве позиции со значением –1 заполняются копией предыдущего значения.

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

5. «Хитрая» сортировка. Из массива путем однократного просмотра выбирается последовательность элементов, расположенных в порядке возрастания, переносится в выходной массив и заменяется во входном значением -1. Затем оставшиеся элементы включаются в полученную упорядоченную последовательность методом «погружения», когда очередной элемент путем ряда обменов «погружается» до требуемой позиции в уже упорядоченную часть массива.

6. Дано линейное множество A из N точек. Найти такую точку из данного множества, сумма расстояний от которой до остальных его точек максимальна, и саму эту сумму.

7. Дано линейное множество A из N точек. Найти пару различных точек этого множества с максимальным расстоянием между ними и само это расстояние (точки выводятся в том же порядке, в котором они перечислены при задании множества A).

8. Организуйте массив, содержащий 2 n целых чисел. Отсортируйте элементы с нечётными индексами по возрастанию.

9. Дан массив размера N. Вывести индексы массива в том порядке, в котором соответствующие им элементы образуют возрастающую последовательность.

10. Отсортируйте в массиве четные элементы по возрастанию.

11. Создайте целочисленный массив, содержащий 2 n различных чисел. Отсортируйте первую половину массива по возрастанию, а вторую по убыванию. Выведите на экран, отсортированный таким образом массива.

12. Отсортируйте в массиве положительные элементы по возрастанию, отрицательные – по убыванию.

13. Массивы А и В заполнены случайными различными числами, причем в В в 2 раза меньше элементов, чем в А. Определите входят ли все элементы В в А.

14. Дан массив размера N. Вывести индексы массива в том порядке, в котором соответствующие им элементы образуют убывающую последовательность.

15. На координатной прямой дана точка A и множество B из N точек. Найти номер точки из множества B, наиболее близкой от точки A.

16. Организуйте массив, содержащий 2 n целых чисел. Отсортируйте элементы с нечётными индексами по убыванию.

17. Дано линейное множество A из N точек. Найти такую точку из данного множества, сумма расстояний от которой до остальных его точек минимальна, и саму эту сумму.

18. Дана точка A и множество B из N точек. Найти номер точки из множества B, наиболее удаленной от точки A.

19. Дано линейное множество A из N точек. Найти пару различных точек этого множества с минимальным расстоянием между ними и само это расстояние (точки выводятся в том же порядке, в котором они перечислены при задании множества A).

20. Даны множества A и B, состоящие соответственно из N 1 и N 2 точек. Найти максимальное расстояние между точками этих множеств и сами точки, расположенные на этом расстоянии.

21. В массиве 2 n + 1 различных элементов. Найдите средний элемент массива. Под средним элементом понимают такой, для которого в массиве n элементов больше его и n элементов меньше.

22. Даны линейные множества A и B, состоящие соответственно из N 1 и N 2 точек. Найти минимальное расстояние между точками этих множеств и сами точки, расположенные на этом расстоянии.

23. В массиве 3 n элементов. Отсортируйте первые n элементов массива по убыванию, последние n элементов по возрастанию.

24. Даны два массива А и В. Сформируйте из них массив С, в котором элементы отсортированы по убыванию.

25. Дан целочисленный массив А. Отсортируйте по возрастанию те его элементы, которые входят во введенный отрезок [ a, b ].

26. Дано линейное множество A из N точек. Найти такую точку из данного множества, которая наиболее близка к значению среднего арифметического элементов массива.

27. Дан массив А, состоящий из 2 N элементов. Разбейте его на массивы В и С по N элементов каждый так, чтобы каждый элемент В не превосходил каждого элемента С.

28. Дан массив А, состоящий из N целых чисел. Сформируйте массив В, состоящий из убывающей последовательности различных элементов массива А.

 

Задание 6. Двумерный массив

Решите задачи данной группы, оформив решение в виде функций генерации, вывода и обработки массивов. Предусмотрите в функции генерации массива ввод границ диапазона случайных чисел.

 

1. Дана квадратная матрица порядка 2 n + 1. Зеркально отразить ее элементы относительно горизонтальной оси симметрии матрицы.

2. Даны действительные числа a 1, …, а 64. Получить действительную квадратную матрицу порядка 8, элементами которой являются числа a 1, …, а 6 4 , расположенные в ней по схеме, которая приведена на рисунке.

 

3. Дана матрица размера n × m. Поменять местами ее столбцы так, чтобы их максимальные элементы образовывали убывающую последовательность.

4. Найдите квадратную матрицу, обратную данной с размером n × n.

5. Дана квадратная матрица порядка 2 n. Повернуть ее на 180 градусов в положительном направлении.

6. Заполнить двумерный квадратный массив целыми числами от 1 до 100 по спирали, как показано на следующем рисунке.

 

7. Даны действительные числа a 1, …, а 64. Получить действительную квадратную матрицу порядка 8, элементами которой являются числа a 1, …, а 64, расположенные в ней по схеме, которая приведена на рисунке.

 

8. Дана матрица размера n × m. Поменять местами столбцы, содержащие минимальный и максимальный элементы матрицы.

9. Даны две матрицы n × m и m × k. Получите их произведение.

10. Дана матрица размера n × m. Поменять местами ее строки так, чтобы их максимальные элементы образовывали возрастающую последовательность.

11. В данной действительной квадратной матрице порядка n найти наибольший по модулю элемент. Получить квадратную матрицу порядка n – 1 путем выбрасывания из исходной матрицы какой-нибудь строки и столбца, на пересечении которых расположен элемент с найденным значением. Выполняйте до тех пор, пока не останется последний элемент.

12. Дана квадратная матрица порядка 2 n +1. Зеркально отразить ее элементы относительно побочной диагонали матрицы.

13. Дана действительная квадратная матрица порядка 2 n+1. Получить новую матрицу, повернув ее блоки, ограниченные диагоналями, на 180 градусов.

14. Дана матрица размера n × m. Поменять местами ее первый и последний строки, содержащие только отрицательные элементы.

15. Дана целочисленная матрица размера n × m. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце. Если такой элемент отсутствует, то вывести 0.

16. Составьте программу циклической перестановки столбцов двумерного массива m × k, при которой смещение происходит вправо на n столбцов.

17. Даны действительные числа a 1, …, а 64. Получить действительную квадратную матрицу порядка 8, элементами которой являются числа a 1, …, а 64, расположенные в ней по схеме, которая приведена на рисунке.

 

18. Дана матрица размера n × m. Поменять местами ее столбцы так, чтобы их минимальные элементы образовывали возрастающую последовательность.

19. Дана квадратная матрица порядка 2 n + 1. Зеркально отразить ее элементы относительно вертикальной оси симметрии матрицы.

20. Дана квадратная матрица порядка 2 n. Повернуть ее на 270 градусов в положительном направлении относительно ее центра.

21. Дана матрица размера n × m. Поменять местами строки, содержащие минимальный и максимальный элементы матрицы.

22. В квадратной таблице обменяйте местами элементы строки и столбца, на пересечении которых находится минимальный из положительных элементов.

23. Дана квадратная матрица порядка 2 n. Повернуть ее на 90 градусов в положительном направлении относительно ее центра.

24. Дана квадратная матрица порядка 2 n + 1. Зеркально отразить ее элементы относительно главной диагонали матрицы.

25. Составьте программу циклической перестановки строк двумерного массива m × k, при которой смещение происходит вниз на n строк.

26. Дана матрица размера n × m. Поменять местами ее первый и последний столбцы, содержащие только положительные элементы.

27. Заполнить двумерный квадратный массив целыми числами от 1 до 100 по спирали, начиная от центра и закручивая по часовой стрелке.

28. Заполните квадратную матрицу n × n по принципу латинского квадрата: в каждой строке и каждом столбце используются неповторяющиеся между собой числа от 1 до n.


ЛИТЕРАТУРА

1. Абрамян, М.Э. 1000 задач по программированию. Часть I, II, III / М.Э Абрамян. – Ростов-на-Дону: УПЛ РГУ, Банк компьютерных изданий РГУ, 2004. – 128 с.

2. Баженова, И.Ю. Введение в программирование / И.Ю. Баженова, В.А. Сухомлин. – М.: ИНТУИТ.РУ «Интернет-университет Информационных Технологий», 2006. – 328 с.

3. Есаян, А.Р. Обучение алгоритмизации на основе рекурсии: Учеб. пособ. для студ. пед. вузов / А.Р. Есаян. – Тула: Изд‑во Тул. гос. пед. ун‑та им. Л.Н. Толстого, 2001. – 216 с.

4. Задачи по программированию / под ред. С.М. Окулова. – М.: БИНОМ. Лаборатория знаний, 2006. – 820 с.

5. Задачи по программированию / С.А. Абрамов, Г.Г. Гнездилова, Е.Н Капустин, М.И. Селюн. – М.: Наука. Гл. ред. физ.-мат. лит., 1988. ‑ 224 с.

6. Керниган, Б. Язык программирования Си / Б. Керниган, Д. Ритчи. – М.: Вильямс, 2007. – 304 с.

7. Подбельский, В.В. Практикум по программированию на языке Си: учеб. пособие / В.В. Подбельский. – М.: Финансы и статистика, 2004. – 576 с.

8. Подбельский, В.В. Программирование на языке Си: учеб. пособие / В.В. Подбельский, С.С. Фомин. – М.: Финансы и статистика, 2004. – 600 с.

9. Подбельский, В.В. Язык Си++: учеб. пособие / В.В. Подбельский. – М.: Финансы и статистика, 2005. – 560 с.

10. Романов, Е.Л. Практикум по программированию на языке С++: учеб. пособие / Е.Л. Романов. – СПб: БХВ-Петербург, 2004. – 432 с.

11. С/С++. Структурное программирование: практикум / Т.А. Павловская, Ю.А. Щупак. – СПб: Питер, 2004. – 239 с.

12. Шилд, Г. Полный справочник по С# / Г. Шилд. – М.: Издательский дом «Вильямс», 2004. – 752 с.

 


Учебное издание



Поделиться:


Последнее изменение этой страницы: 2016-09-13; просмотров: 263; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.149.242 (0.881 с.)