ЗНАЕТЕ ЛИ ВЫ?

For (инициализация; проверка; приращение)



Содержание

 

1 Лабораторная работа. Использование базовых и дополнительных

структур С++ при решении задач. Характерные приемы программирования 4

2 Лабораторная работа. Использование структур языка С++ при решении задач численными методами 9

3 Лабораторная работа. Массивы и их обработка 14

4 Лабораторная работа. Методы сортировки массивов 18

5 Лабораторная работа. Обработка символьных данных 22

6 Лабораторная работа. Работа со структурами и объединениями 25

7 Лабораторная работа. Файлы и работа с ними 29

8 Лабораторная работа. Функции. Рекурсия 30

Приложение А 34

Список литературы 35

 


1 Лабораторная работа. Использование базовых и дополнительных структур С++ при решении задач. Характерные приемы программирования

Цель:научиться практически применятьзнания, полученные в курсе Информатики, к решению задач вычислительного характера на языке высокого уровня С++; получить практические навыки работы со стандартными алгоритмами – характерными приемами программирования в С++.

 

Общие сведения

1.1.1 Любой сложный алгоритм можно представить, используя три основные управляющие конструкции. К базовым относят:

а) следование - обозначает последовательное выполнение действий;

б) ветвление - выбор одного из двух вариантов действий;

в) цикл-пока - определяет повторение действий, пока не будет нарушено некоторое условие, выполнение которого проверяется в начале цикла.

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

а) выбор - выбор одного варианта из нескольких в зависимости от значения некоторой величины;

б) цикл-до - повторение действий до выполнения заданного условия, проверка которого осуществляется после выполнения действий в цикле;

в) цикл с заданным числом повторений (счетный цикл) - повторение некоторых действий указанное количество раз.

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

Для изображения алгоритмов структурных программ могут использоваться:

1) блок-схемы;

2) псевдокоды;

3) Flow-формы;

4) диаграммы Насси-Шнейдермана.

В таблице А.1 отражается соответствие различных способов описания алгоритмов.

 

1.1.2 Программы, написанные с использованием только структурных операторов передачи управления, называют структурными, чтобы подчеркнуть их отличие от программ, разрабатываемых с исполь­зованием низкоуровневых способов передачи управления.

Каждой управляющей конструкции, рассмотренной в п.1.1.1, можно поставить в соответствие оператор С++. Так, например, к базовым следует отнести:

а) оператор присваивания переменная = выражение;

б) оператор условного перехода:

- в полной форме if (условие) оператор1; else оператор2;

- в краткой форме if (условие) оператор;

в) оператор цикла с предварительным условиемпредусловием)

while (условие)или while (условие)

{ оператор;

оператор1;

оператор2;

операторN;

}

Дополнительным конструкциям следует поставить в соответствие:

а) оператор-переключатель switch (оператор выбора или варианта)

Switch (выражение)

{

case n1 : оператор1; break;

case n2 : оператор2; break;

case nk : операторК; break;

default : операторN; break;

}

б) троичный условный оператор

(выражение1) ? выражение2: выражение3;

в) оператор цикла с последующим условиемпостусловием)

doили do {

{оператор;} оператор1;

while (условие); оператор2;

операторN;

} while (условие);

г) оператор цикла с параметром

Задание к лабораторной работе

Выбрать вариант по таблице 1.1 и решить задачу, используя базовые и дополнительные структуры. К каждой задаче построить блок-схему. Организовать диалог с пользователем.

Таблица 1.1 – Варианты заданий

Вариант Задание
Вычислить:
Среднее арифметическое последовательности дробных чисел, вводимой с клавиатуры; количество чисел должно задаваться пользователем.
Момент времени t, в который будет достигнута максимальная скорость точки, если уравнение движения точки дано в виде: .
Минимальное значение среди сгенерированной последовательности из kслучайных чисел в диапазоне от 0 до 100, вывести эти числа на экран.
Число π с заданной пользователем точностью, для чего воспользоваться числовым рядом , значение частичной суммы которогопри суммировании достаточно большого количества членов приближается к значению π/4.
Среднее геометрическое среди сгенерированной последовательности из 10 случайных чисел в диапазоне от 1 до 10, вывести эти числа на экран.
Факториал числа, введенного с клавиатуры.
, где n– целое число, введенное с клавиатуры.
Через сколько лет арендатором накопится сумма S, достаточная для покупки собственного помещения, если его стартовый капитал –k тенге, ежемесячный доход – n%, аренда помещения – m тенге.
Значение первого положительного элемента сформированной последовательности, если известно, что a0 = -20, ai = ai-1 + i/2.
Наибольший общий делитель двух целых чисел.

Продолжение таблицы 1.1

Максимальное значение среди сгенерированной последовательности из kслучайных чисел в диапазоне от 0 до 50, вывести эти числа на экран.
Момент времени t, в который будет достигнуто максимальное ускорение точки, если уравнение движения точки дано в виде: .
Значение первого отрицательного элемента сформированной последовательности, если известно, что a0 =15, ai = ai-1 – i/2.
Количество элементов среди сгенерированной последовательности из Nслучайных чисел в диапазоне от -100 до 100, больших по модулю, чем первое из них. Вывести все числа на экран.
Вывести на экран:
Таблицу степеней числа 2. Количество степеней n задается пользователем.
Работающие «электронные часы», которые функционируют до нажатия любой клавиши.
Таблицу умножения на число n, задаваемое пользователем.
Таблицу квадратов m первых целых положительных чисел.
Таймер, который по истечении заданного промежутка времени t, величина которого вводится с клавиатуры, выдает звуковой сигнал.
Изображение шахматной доски: черные клетки отображать «звездочкой», белые – пробелом.
Таблицу степеней (от нулевой до k-ой) числа Z; количество степеней k задается пользователем.
Проверить:
Является ли функция периодической, если аргумент х изменяется в интервале [0;5T], а период Т=2π?
Знание пользователем таблицы умножения: вывести k примеров и выставить оценку (90-100% правильных ответов - «отлично», 75-89% - «хорошо», за 55-74% - «удовлетворительно», менее 55% - «плохо»).
Предложить пользователю угадать сгенерированное компьютером целое число в диапазоне от 1 до 10 за 5 попыток.
Являются ли k целых чисел, введенных пользователем, простыми?

 

 

Окончание таблицы 1.1

Численно убедиться в справедливости равенства, для чего для заданного пользователем значения аргумента х вычислить левую его часть и разложение, стоящее в правой части с заданной погрешностью:

 

1.3 Контрольные вопросы

1.3.1 Какие алгоритмические структуры относятся к базовым? Какие к дополнительным? Приведите примеры базовых и дополнительных структур.

1.3.2 Как графически изображаются схемы алгоритмов? Какое преимущество имеют Flow-формы и диаграммы Насси-Шнейдермана? Какие достоинства и недостатки имеют блок-схемы?

1.3.3 В чем отличие между оператором и операцией? Какие виды операций существуют? Перечислите известные Вам операции присваивания в С++.

1.3.4 В заключаются особенности форматного ввода – вывода?

1.3.5 Какие операторы С++ реализуют ветвление? В чем их особенности? Приведите примеры использования.

1.3.6 Какую структуру имеет оператор выбора? С какой целью используется оператор break?

1.3.7 Какие операторы С++ реализуют циклы? В чем их особенности? Приведите примеры использования.

1.3.8 Как с помощью цикла while можно сымитировать цикл for?

1.3.9 Приведите алгоритм поиска среднего арифметического элементов последовательности а1, а2, а3 …а10. Чем будет отличаться поиск среднего геометрического элементов той же последовательности?

1.3.10Приведите алгоритм поиска максимального значения среди элементов последовательности а1, а2, а3 …а10.

 

2 Лабораторная работа. Использование структур языка С++ при решении задач численными методами

Цель:получить практические навыки использования возможностей языка программирования для решения математических задач.

 

Общие сведения

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

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

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

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

Алгоритмы вычислений с помощью этих методов подробно рассматриваются в [1, 12].

 

Задание к лабораторной работе

2.2.1 Вычислить значение суммы (см. таблицу 2.1) с заданной пользователем точностью ε.

Таблица 2.1 – Варианты заданий

Вариант Задание
, |x| < 1;
;
, |x| < 1;

Окончание таблицы 2.1

, |x| < 1;

 

2.2.2 В соответствии с выбранным вариантом (см. таблицу 2.2) выполнить вычисления:

Таблица 2.2 – Варианты заданий

Вариант Вычислить приближенное значение: Метод Точность, ε
корня уравнения х32-3=0 на интервале [0.5,1.5] деления отрезка пополам 0.00001
интеграла прямоугольников 0.001
корня уравнения 2х3+3х-1=0 на интервале [0,0.5] деления отрезка пополам 0.0001
интеграла прямоугольников 0.001
корня уравнения х5-х-0.2=0 на интервале [0.7,1.0] итераций 0.00001
интеграла Симпсона 0.001
интеграла Симпсона 0.001
интеграла Симпсона 0.001
корня уравнения х3+3х-1=0 на интервале [0,0.8] итераций 0.00001
интеграла прямоугольников 0.001
интеграла Симпсона 0.001
интеграла прямоугольников 0.001
корня уравнения х5-х-0.2=0 на интервале [0.9,1.1] деления отрезка пополам 0.0001
интеграла прямоугольников 0.001

 

Окончание таблицы 2.2

корня уравнения х4-2х3-х-1=0 на интервале [0.1,1.2] итераций 0.0001  
интеграла прямоугольников 0.001
корня уравнения х32+1=0 на интервале [0,1.2] деления отрезка пополам 0.0001
интеграла прямоугольников 0.001
интеграла Симпсона 0.001
интеграла Симпсона 0.0001
корня уравнения х43-1=0 на интервале [0,0.9] итераций 0.0001
интеграла Симпсона 0.001
интеграла Симпсона 0.0001
корня уравнения х4-2х3-х-1=0 на интервале [0,1.0] деления отрезка пополам 0.00001
корня уравнения х32-3=0 на интервале [0.9,1.9] итераций 0.0001
интеграла Симпсона 0.001
интеграла Симпсона 0.0001
интеграла прямоугольников 0.001
корня уравнения х4+х-1.5=0 на интервале [0,1.0] деления отрезка пополам 0.00001
интеграла прямоугольников 0.0001
           

2.3 Контрольные вопросы

2.3.1 Какие вычислительные процессы считаются итерационными?

2.3.2 Какие формулы называются рекуррентными?

2.3.3 С какой целью в итерационных циклах используются условия?

2.3.4 Каковы преимущества численных методов интегрирования?

2.3.5 В каких случаях целесообразно применение численных методов интегрирования?

2.3.6 В чем заключается суть метода дихотомии?

2.3.7 Приведите алгоритм метода прямоугольников.

2.3.8 В чем заключается суть метода итераций?

2.3.9 Приведите алгоритм метода Симпсона.

2.3.10 Каковы особенности метода касательных?

 

Общие сведения

Массив — это упорядоченный набор элемен­тов одинакового типа, имеющих общее имя. Все эле­менты массива пронумерованы. Порядковый номер элемента в массиве называется индексом. Массивы должны быть обязательно описа­ны перед использованием в программе. Различают одномерные (векторы), двумерные (матрицы) и многомерные массивы, однако на практике массивы размерностью свыше трех исполь­зуются крайне редко. Общий вид объявления массива:

тип_элементов имя_массива [N1][N2]...[Nk];

Количество индексов [N1][N2]...[Nk]опре­деляет размерность массива. При объявлении массива указыва­ется общее число элементов массива. Индексация элементов массива в С++ по умолчанию начинается с нуля. Размер массива может задаваться константой или константным выражением. Нельзя задать массив переменного размера, для этой цели используется отдельный механизм - динамическое выделение памяти. В языке C++ возможна инициализация массива при его объяв­лении.

К элементам массива применимы две операции: присваива­ниеи выборка. Для выборки элементов массива и их обработки чаще всего используются циклы.

 

Задание к лабораторной работе

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

Таблица 3.1 – Варианты заданий

Вариант Задание
Дана целочисленная прямоугольная матрица. Определить: количество строк, не содержащих ни одного нулевого элемента; максимальное из чисел, встречающихся в заданной матрице более одного раза.
Дана целочисленная прямоугольная матрица, содержащая элементы равные 1. Определить количество столбцов, не содержащих ни одного элемента равного 1; среднее геометрическое элементов строки, содержащей минимальный элемент побочной диагонали.
Дана целочисленная прямоугольная матрица. Определить: количество столбцов, содержащих хотя бы один нулевой элемент; номер строки, в которой находится самая длинная серия одинаковых элементов.
Дана целочисленная прямоугольная матрица. Определить: произведение элементов в тех строках, которые не содержат отрицательных элементов; максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
Дана целочисленная прямоугольная матрица. Определить: сумму элементов в тех столбцах, которые не содержат положительных элементов; минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.
Дана целочисленная прямоугольная матрица. Матрица А имеет седловую точку Аij,, если A ij является минимальным элементом в i–той строке и максимальным в j-столбце. Определить: сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
Для заданной матрицы размером 10х10 найти такие k, что k-я строка совпадает с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.
Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10х10.

Продолжение таблицы 3.1

Дана целочисленная прямоугольная матрица. Матрица А имеет седловую точку Аij,, если A ij является минимальным элементом в i–той строке и максимальным в j-столбце. Определить: произведение элементов в тех строках, которые содержат хотя бы один положительный элемент.
Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный элемент.
Переставить элементы квадратной целочисленной матрицы так, чтобы ее минимальный элемент находился в левом верхнем углу, следующий по величине - в позиции (1,1), следующий по вели-чине – в позиции (2,2) и т.д., заполнив, всю главную диагональ.
Переставить элементы квадратной вещественной матрицы так, чтобы ее максимальный элемент находился в левом верхнем углу, следующий по величине - (1,1), следующий по величине – в позиции (2,2) и т.д., заполнив, всю главную диагональ.
Дана целочисленная квадратная матрица. Определить: среднее арифметическое элементов в тех строках, которые не содержат отрицательных элементов. Результат переписать в вектор.
Дан двумерный массив размерностью 4х7, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца.
Найти среднее геометрическое элементов, расположенных выше побочной диагонали вещественной матрицы 10х10. Переписать элементы, расположенные после минимального элемента в вектор.
Дан двумерный массив размерностью 6х5, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен количеству отрицательных элементов, кратных 2 или 4, соответствующей строки.
Элемент матрицы называется локальным максимумом, если он строго больше всех имеющихся у него соседей. Подсчитать количество локальных максимумов заданной матрицы размером 12х12.
Найти номер первой из строк вещественной матрицы, не содержащих ни одного отрицательного элемента. Определить максимальную сумму элементов в столбцах матрицы.
Характеристикой строки целочисленной матрицы А размерности 10х8 назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.

Окончание таблицы 3.1

Дана целочисленная квадратная матрица. Определить: среднее геометрическое элементов в тех строках, которые не содержат отрицательных элементов. Максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
Дан двумерный массив размерностью 9х5, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен наименьшему по модулю элементу соответствующего столбца.
Найти сумму элементов целочисленной матрицы 10х8 в тех столбцах, которые содержат хотя бы один отрицательный элемент. Переписать их в одномерный массив.
Найти среднее геометрическое модулей элементов целочисленной матрицы, расположенных на побочной диагонали. Определить максимальный элемент в матрице и его местоположение.
Дана целочисленная квадратная матрица. Определить минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы. Суммы переписать в одномерный массив.
Дан двумерный массив размерностью 6х5, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца. Если такого нет, то он равен нулю.
Найти номер первого из столбцов целочисленной матрицы, не содержащих ни одного положительного элемента. Определить минимальное произведение в строках матрицы.
Найти сумму модулей элементов, расположенных выше главной диагонали целочисленной матрицы 10х10. Переписать элементы, расположенные после максимального элемента в вектор.
Найти произведение элементов в тех столбцах целочисленной матрицы, которые содержат хотя бы один положительный элемент. Переписать элементы, расположенные до минимального элемента в одномерный массив.
Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.

 

3.3 Контрольные вопросы

3.3.1 Что представляет собой массив элементов?

3.3.2 Какой максимальной размерности может быть многомерный массив?

3.3.3 Как объявляется массив?

3.3.4 С какой целью используется механизм выделения динамической памяти?

3.3.5 Как инициализируются элементы массива?

3.3.6 Как можно сформировать случайным образом массив элементов?

3.3.7 Какие способами ввода элементов массива существуют в С++?

3.3.8 Приведите алгоритм нахождения максимального значения в каждой строке матрицы произвольного размера.

3.3.9 Каковы особенности обработки квадратной матрицы?

3.3.10 Как организовать обработку матрицы произвольной размерности по столбцам (по строкам)?

 

Общие сведения

Во многих задачах бывает необходимо переставить элементы массива таким образом, чтобы они располагались в порядке возрастания или убывания. Такие массивы называются упорядо­ченными, а процесс их получения — сортировкой.

4.1.1 Сортировка простым выбором

Самым простым алгоритмом является сортировка простым выбором. В сортируемом массиве находится минимальный элемент, который обменивается местами с элементом в начале массива. Оставшаяся часть массива рассматривается как самостоятельный массив, в котором также производится поиск наименьшего элемента и его обмен с первым элементом укороченного массива. Действия повторяются до тех пор, пока массив не укоротится до одного элемента.

4.1.2 Метод пузырьковой сортировки

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

Можно уменьшить количество проходов сортировки, выполняя их не (N-1)2 раз, а пока массив не будет отсортирован. Определить этот факт достаточно просто: если массив уже отсортирован, то в процессе прохода в нем не происходит никаких перестановок. Перед началом просмотра нужно установить признак отсутствия перестановок (флаг). В случае, если производится хотя бы одна перестановка, флаг изменяет свое значение. Если к моменту завершения прохода значение флага осталось первоначальным, значит, массив отсортирован и дальнейшие проходы не нужны.

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

Задание к лабораторной работе

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

Таблица 4.1 – Варианты заданий

Вариант Задание
Дана целочисленная матрица В(10,7). Методом простой сортировки расположить элементы по возрастанию в строках.
Дана целочисленная прямоугольная матрица В(10,10). Методом пузырьковой сортировки без оптимизации расположить элементы в ее столбцах по возрастанию.
Переписать все отрицательные элементы матрицы А(6,5) в вектор В. Используя метод пузырьковой сортировки с оптимизацией по количеству проходов, расположить их по убыванию.
Дана целочисленная матрица В(10,7). Методом пузырьковой сортировки с оптимизацией по времени выполнения каждого прохода расположить элементы по возрастанию в строках.
Дана вещественная матрица С(6,8). Методом простой сортировки расположить элементы в ее строках по возрастанию.
Переписать все положительные элементы матрицы Х(10,10) в вектор Y. Используя метод пузырьковой сортировки с оптимизацией по количеству проходов, расположить по возрастанию.
Переписать все четные элементы целочисленной матрицы Z(10,10) в вектор Y. Используя метод простой сортировки, расположить их по возрастанию.
Дана целочисленная матрица А(8,8). Методом простой сортировки расположить элементы в ее строках по возрастанию.

 

 

Продолжение таблицы 4.1

Переписать все отрицательные элементы матрицы А(6,5) в вектор В. Используя метод пузырьковой сортировки без оптимизации, расположить их по убыванию.
Дана целочисленная матрица А(8,7). Переписать все положительные элементы в вектор. Методом пузырьковой сортировки без оптимизации расположить элементы по возрастанию.
Переписать все ненулевые элементы матрицы А(6,5) в вектор В. Используя метод пузырьковой сортировки с оптимизацией по количеству проходов, расположить по убыванию.
Переписать все положительные элементы матрицы С(6,8) в вектор А. Используя метод простой сортировки, расположить их по возрастанию.
Дана целочисленная прямоугольная матрица С(9,9). Методом простой сортировки расположить элементы в ее столбцах по убыванию.
Дана целочисленная прямоугольная матрица А(8,8). Методом пузырьковой сортировки без оптимизации расположить элементы в ее строках по возрастанию.
Дана вещественная матрица В(7,10). Методом пузырьковой сортировки без оптимизации расположить элементы в ее столбцах по возрастанию.
Дана вещественная матрица А(4,7). Переписать все положительные элементы в вектор. Методом пузырьковой сортировки без оптимизации расположить элементы по возрастанию.
Переписать все ненулевые элементы матрицы А(6,6) в вектор С. Используя метод пузырьковой сортировки с оптимизацией по количеству проходов, расположить по возрастанию.
Переписать все отрицательные элементы матрицы А(6,5) в вектор В. Используя метод простой сортировки, расположить их по убыванию.
Переписать все нечетные элементы целочисленной матрицы Z(8,12) в вектор Х. Используя метод простой сортировки, расположить их по убыванию.
Дана вещественная матрица А(5,8). Методом простой сортировки расположить элементы в ее строках по возрастанию.
Дана целочисленная матрица К(6,8). Методом пузырьковой сортировки с оптимизацией по времени выполнения каждого прохода расположить элементы по убыванию в столбцах.
Переписать все положительные элементы матрицы Х(10,10) в вектор Y. Используя метод простой сортировки, расположить их по возрастанию.

Окончание таблицы 4.1

Дана вещественная матрица А(4,7). Переписать все положительные элементы в вектор. Методом пузырьковой сортировки без оптимизации расположить элементы по возрастанию.
Дана целочисленная матрица А(6,9). Переписать все отрицательные элементы в вектор. Методом пузырьковой сортировки без оптимизации расположить элементы по убыванию.
Дана вещественная прямоугольная матрица С(9,9). Методом простой сортировки расположить элементы в ее строках по убыванию.
Дана вещественная матрица А(6,5). Переписать все отрицательные элементы в вектор. Методом пузырьковой сортировки без оптимизации расположить элементы по убыванию.
Дана вещественная матрица С(7,9). Методом простой сортировки расположить элементы в ее столбцах по убыванию.
Дана вещественная матрица А(4,7). Переписать все положительные элементы в вектор. Методом простой сортировки расположить элементы по возрастанию.
Дана целочисленная матрица F(4,7). Методом пузырьковой сортировки без оптимизации расположить элементы по убыванию в столбцах.
Дана вещественная матрица В(10,7). Методом пузырьковой сортировки с оптимизацией по времени выполнения каждого прохода расположить элементы по возрастанию в строках.

 

4.3 Контрольные вопросы

4.3.1 Перечислите известные Вам методы сортировки.

4.3.2 В чем заключается суть метода сортировки простым выбором?





Последнее изменение этой страницы: 2017-01-25; Нарушение авторского права страницы

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