Алгоритмы средней сложности: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) Нет описания правки |
Mikst (обсуждение | вклад) Нет описания правки |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
__NOTOC__ | |||
Раздел не закончен | |||
== Циклы == | == Циклы == | ||
=== | === Программы === | ||
# Разложение числа на простые множители (математика) | # Разложение числа на простые множители (математика) | ||
== Массивы == | == Массивы == | ||
Строка 17: | Строка 19: | ||
# Удаление из массива всех элементов, удовлетворяющих определенному условию | # Удаление из массива всех элементов, удовлетворяющих определенному условию | ||
# Вставка в массив новых элементов перед/после элементов, удовлетворяющих определенному условию, дублирование таких элементов | # Вставка в массив новых элементов перед/после элементов, удовлетворяющих определенному условию, дублирование таких элементов | ||
== Матрицы == | |||
=== Программы === | |||
# Удаление строки/столбца с заданным номером | |||
# Вставка новой строки/столбца перед/после заданной строки/столбца (или дублирование строки/столбца) | |||
# Нумерация диагоналей, параллельных главной/побочной, использование массива с характеристиками каждой диагонали (например, с суммой значений) | |||
# Сортировка строк/столбцов по некоторому ключу, связанному со строками/столбцами | |||
# Анализ элементов, соседних с данным элементом матрицы, в частности, нахождение локальных минимумов/максимумов (использование обрамляющих матрицу строк и столбцов для единообразной обработки) | |||
== Строки и символы == | |||
=== Программы === | |||
# Преобразование числа в строку и обратно, быстрый способ преобразование цифрового символа в соответствующее однозначное число и обратно | |||
# Разные способы инвертирования строки | |||
# Проверка того, что строка представляет собой запись целого числа; вещественного числа | |||
# Нахождение последнего вхождения подстроки в строку (варианты, использующие различные стандартные функции) | |||
# Удаление из строки определенных символов или вставка в строку символов перед/после требуемых (просмотр строки с конца) | |||
# Разные способы удаления из строки лишних пробелов | |||
# Разбиение строки на отдельные слова (в предположении, что слова разделяются пробелами, или при наличии набора разделителей) | |||
# Изменение регистра букв в строке | |||
# Удаление из начала/конца строки требуемого символа (с учетом того, что в результате строка может оказаться пустой) | |||
# Распознавание в строке начальных и конечных символов слов, при условии, что в начале и конце строки могут находиться пробелы, а слова разделяются одним или несколькими пробелами или другими разделителями | |||
# Проверка правильности расстановки скобок в строке (ситуация, когда используются только круглые скобки, и ситуация, когда имеется несколько видов скобок) | |||
== Ссылки == | == Ссылки == | ||
[[ | *[[Программы для начинающих]] |
Текущая версия от 15:55, 19 января 2010
Раздел не закончен
Циклы
Программы
- Разложение числа на простые множители (математика)
Массивы
Программы
- Проверка того, является ли массив отсортированным (по возрастанию, убыванию или в любом порядке), вывод первого элемента, нарушающего порядок сортировки
- Анализ локальных максимумов, минимумов и экстремумов (использование барьерных элементов)
- Вставка в отсортированный массив нового элемента с сохранением упорядоченности элементов
- Сортировка с помощью индексного массива (с сохранением исходного порядка элементов в основном массиве)
- Анализ последовательностей одинаковых элементов в массиве (определение числа таких последовательностей, самой длинной последовательности, числа самых длинных последовательностей или числа последовательностей указанной длины и т.д.)
- Нахождение нескольких минимальных или максимальных элементов за один проход массива
- Нахождение количества максимальных/минимальных элементов, количества элементов, следующих за максимальными/минимальными и т.д., за один проход массива
- Инвертирование части массива
- Удаление из массива всех элементов, удовлетворяющих определенному условию
- Вставка в массив новых элементов перед/после элементов, удовлетворяющих определенному условию, дублирование таких элементов
Матрицы
Программы
- Удаление строки/столбца с заданным номером
- Вставка новой строки/столбца перед/после заданной строки/столбца (или дублирование строки/столбца)
- Нумерация диагоналей, параллельных главной/побочной, использование массива с характеристиками каждой диагонали (например, с суммой значений)
- Сортировка строк/столбцов по некоторому ключу, связанному со строками/столбцами
- Анализ элементов, соседних с данным элементом матрицы, в частности, нахождение локальных минимумов/максимумов (использование обрамляющих матрицу строк и столбцов для единообразной обработки)
Строки и символы
Программы
- Преобразование числа в строку и обратно, быстрый способ преобразование цифрового символа в соответствующее однозначное число и обратно
- Разные способы инвертирования строки
- Проверка того, что строка представляет собой запись целого числа; вещественного числа
- Нахождение последнего вхождения подстроки в строку (варианты, использующие различные стандартные функции)
- Удаление из строки определенных символов или вставка в строку символов перед/после требуемых (просмотр строки с конца)
- Разные способы удаления из строки лишних пробелов
- Разбиение строки на отдельные слова (в предположении, что слова разделяются пробелами, или при наличии набора разделителей)
- Изменение регистра букв в строке
- Удаление из начала/конца строки требуемого символа (с учетом того, что в результате строка может оказаться пустой)
- Распознавание в строке начальных и конечных символов слов, при условии, что в начале и конце строки могут находиться пробелы, а слова разделяются одним или несколькими пробелами или другими разделителями
- Проверка правильности расстановки скобок в строке (ситуация, когда используются только круглые скобки, и ситуация, когда имеется несколько видов скобок)