Паскаль Задание 2 (однонаправленные списки)
Располагая структурой вида
type ТЭ=...; {тип элементов списка}
список = ^звено;
звено = record элем:ТЭ; след_элем:список end;
описать функцию или процедуру, которая
1) определяет, пуст ли список;
2) находит среднее арифметическое непустого списка;
3) заменяет в списке все вхождения элемента е1 на элемент е2;
4) меняет местами первый и последний элементы непустого списка;
5) проверяет, упорядочены ли по алфавиту элементы списка;
6) находит сумму двух последних элементов списка;
7) находит сумму n последних элементов списка;
8) подсчитывает количество слов в списке, начинающихся и оканчивающихся одним и тем же
символом;
9) подсчитывает количество слов в списке, начинающихся тем же символом, что и следующее
слово;
10) подсчитывает количество слов в списке, совпадающих с последним словом;
11) по исходному списку L строит список L1 из неотрицательных компонент L и список L2 из
отрицательных компонент L;
12) вставляет в начало списка новый элемент;
13) вставляет в конец списка новый элемент;
14) вставляет в список новый элемент после каждого вхождения элемента е1;
15) вставляет в список новый элемент перед каждым вхождением элемента е1;
17) удаляет из списка первый элемент;
18) удаляет из списка второй элемент;
19) удаляет из списка все положительные элементы;
20) удаляет из списка элемент после каждого вхождения элемента е1;
21) проверяет списки L1 и L2 на равенство;
22) проверяет списки L1 и L2 на вхождение;
23) оставляет в списке только первые вхождения одинаковых элементов.
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза.
Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления.
Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков.
Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2.
Остаётся число 6. Проверим
49/6=8 |1
8/6 = 1 |2
1/6=0 |1
121(6)
Надо расположить по возрастанию, то есть первое меньше второго, второе меньше третьего. Поэтому под цифрами 1 и 2 надо поставить "больше": если цифры поменяются местами, то станет "меньше", что нам и надо. Порядок убывания нам не нужен - нужно возрастание, поэтому в 3 пункте "не расположены". Ну а "к пункту" можно только "вернутся")
1)Начало.
2) Сравни первое и второе числа; если первое больше второго , то поменяй их местами.
3)Сравни второе и третье числа; если второе больше третьего, то поменяй их местами.
4)Если теперь три числа не расположены в порядке убывания, то исполни пункт 5) этого алгоритма; иначе вернись к пункту 2).
5)Конец.