close

Вход

Забыли?

вход по аккаунту

?

лаб5

код для вставкиСкачать
Лабораторная работа №5
Одномерные массивы
Задача:
В исходном массиве (размер 100 элементов), заполненном символами латинского алфавита и цифр, замените все повторные вхождения каждого символа пробелом, а все повторяющиеся символы поместите во второй массив. Выполните сортировку полученных массивов. Для контроля результата сделайте распечатку массивов, в том числе исходного.
Решение:
Макрос MAX_ELEMENTS является синонимом константы 30, т.е. перед тем как передать файл компилятору препроцессор должен преобразовать файл заменив все вхождения MAX_ELEMENTS на константу 30.
Далее у нас идут определения функций InitArray, PrintArray, SortArray, TransformArray. Первая из них отвечает за инициализацию массива случайными латинскими буквами и цифрами, вторая - за вывод содержимого массива на экран, третья - за сортировку массива и четвёртая - за преобразование массива, при этом зависящего от другого массива.
Уделю немного внимания функциям SortArray и TransformArray.
В функции SortArray при сортировке массива текущий символ сравнивается с символами, следующими за ним, и так до тех пор, пока цикл не кончится. Если значение текущего символа в кодировке ANSI больше значения следующего символа за текущим, то они меняются местами.
В функции TransformArray, как и в функции SortArray, мы сравниваем текущий символ с символами, следующими за ним. Если символы совпадают и они не являются пробелами, то "повторный" символ заменяется на пробел. При этом повторный символ заносится в новый массив, причём только единожды ( для этого как раз таки служит переменная loopVar, которая проверяет количество повторных вхождений определённого символа ).
В функции main мы определяем переменную num целочисленного типа без знака и присваем ей ноль. Это переменная будет исполнять роль в качестве количества повторяющих символов в исходном массиве. Далее, функцией srand((unsigned int)time(NULL)) инициализируем генератор псевдо - случайных чисел.
Объявляем массивы src, dst. src имеет размерность в 30 элементов, dst - в 30 - 1 ( мы допускаем что может быть такая ситуация, что случайным образом у нас вывелся на экран один и тот же символ 30 раз. Тогда количество повторяющих символов будет 29, т.е. 30 - 1).
src - исходный массив ( source ), dst - новый массив, составленный из повторяющихся символов ( destination ).
Далее по коду инициализация исходного массива и вывод его содержимого на экран функциями InitArray и PrintArray соответственно.
Затем преобразование исходного массива и формирование нового массива относительно исходного функцией TransformArray. Потом по плану - сортировка исходного массива и нового, т.е. src и dst.
Заключительным этапом является вывод на экран исходного и нового массивов после преобразования.
Наконец, управление передаётся операционной системе операцией return 0.
Документ
Категория
Рефераты
Просмотров
20
Размер файла
327 Кб
Теги
лаб5
1/--страниц
Пожаловаться на содержимое документа