Лабораторная работа по обработке массива, типизированного файла и динамического линейного списка
Работа добавлена на сайт samzan.net:
Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
от 25%
Подписываем
договор
Лабораторная работа по обработке массива, типизированного файла и динамического линейного списка.
Каждому студенту выдается свое индивидуальное задание. При обработке информации числовые данные к заданию должны храниться в текстовом файле, который создается самим студентом любым способом. Необходимо переписать числовые данные из текстового файла в:
- одномерный массив,
- типизированный файл,
- линейный динамический список.
Необходимо обработать все эти данные по одному и тому же алгоритму в соответствии варианта задания и выполнить в виде трех процедур, не связанных между собой (например, при обработке типизированного файла или динамического списка не ссылаться на размер массива и т.д.). Так как исходные данные будут записаны в памяти тремя различными способами, то и подход к решению одной и той же задачи будет различен.
- Рассортировать числа по возрастанию методом « пузырька», затем удалить нулевые значения. Количество удаленных нулей добавить первым значением.
- Рассортировать числа по убыванию методом вставок, затем добавить нулевые значения в отсортированную последовательность, если их не было.
- Рассортировать числа по убыванию методом выбора, затем удалить нулевые значения. Количество удаленных нулей добавить последним значением.
- Переместить отрицательные числа в начало, а положительные в конец данных, не применяя сортировку. Если нулей не было, то добавить ноль между двумя граничащими, отрицательным и положительным, числами.
- Каждое число заменить на количество чисел, стоящих правее его и больших ему. Если таких чисел нет, то заменить исходное число на ноль. Затем удалить рядом стоящие нули, оставив только один ноль.
- Отсортировать только положительные числа, отрицательные оставить на своих местах. Затем вставить любое введенное положительное число в отсортированную последовательность, не нарушая при этом сортировку.
- Рассматривая числа попарно, переставить пары по возрастанию их сумм. Затем удалить пару чисел, дающую сумму, равную введенному числу М. Если такой пары чисел нет, то сообщить об этом.
- Просуммировать и удалить числа, встречающиеся по одному разу. Затем сумму удаленных чисел добавить в начало данных.
- За один проход цикла найти два максимальных значения среди всех данных и удалить их. Затем добавить в начало данных число, равное среднему арифметическому удаленных максимальных значений.
- Данные обмениваются числами так, чтобы в начале оказались только четные значения, а в конце нечетные значения. Затем привести количество четных и нечетных чисел к одинаковой длине, путем удаления начальных значений.
- «Взвесить», то есть найти суммы первой половины и второй половины данных, и максимально уравновесить их, обменивая элементы.
- Удалить повторяющиеся числа. Затем проверить, есть ли два числа, дающие в сумме первое значение. Если такие числа есть, то удалить и их.
- Найти среднее арифметическое положительных чисел. Удалить все числа, большие этого среднего. Затем снова найти среднее арифметическое положительных оставшихся чисел и добавить его в начало данных.
- Определить минимальное и максимальное значения. Тот экстремум, который встречается первым, должен при циклическом сдвиге всех данных встать на первое место, если это был минимум, или встать на последнее место, если это был максимум.
- Все нечетные числа записать в начало данных, четные в конец данных. Повторяющиеся числа не писать. Уравнять количество четных и нечетных удалением последних значений в своей последовательности.
- Найти суммы цифр каждого числа без учета повторяющихся цифр. Числа, дающие повторяющиеся суммы, удалить.
- Рассортировать числа «горкой», то есть 1 минимальное на первое место, 2 минимальное на последнее место и т. д. Затем удалить максимальное значение из данных.
- Рассортировать числа «впадиной», т.е. первое максимальное поставить на первое значение новых данных, второе максимальное на последнее место, третье на второе место и т.д. Затем удалить минимальное значение (вид впадиной: мах1, мах3, мах5,…., max4, max2).
- Все нулевые значения переписать в конец данных, не изменяя следования остальных чисел. Новых данных при этом не заводить. Если нулей будет больше 3-х, то первый ноль заменить на среднее арифметическое значение до этого нуля
- Из исходных данных удалить повторяющиеся числа. Определить среднее арифметическое оставшихся чисел и записать его на первое место, сдвинув остальные числа.
- Из чисел 0, 1, 2, находящихся в различной последовательности, сделать строгую очередность из 0, 1 и 2. При этом сортировку не применять. Вывести результаты. Затем удалить по одному граничащему значению.
- Рассортировать исходные данные методом Шелла. Затем удалить повторяющиеся значения. Среднее арифметическое удаленных значений добавить в полученные данные на свое, согласно отсортированной последовательности, место.