• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

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

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Общее решение

*Катюшка*

Ученик
Регистрация
15 Дек 2011
Сообщения
4
Реакции
0
Баллы
0
Общее решение

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

1)Значения переменных X,Y,Z поменять местами так, чтобы они оказались упорядоченными по убыванию.

2) Дан масссив размера N. Найти номера двух ближайших по значению элементов из этого массива.

3) Описать процедуру Trim(S), удаляющую в строке S пробелы. Используя эту процедуру, преобразовать пять данных строк.

язык программирования Delphi в стиле паскаль
 
язык программирования Delphi в стиле паскаль
То есть консольное приложение?

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

2) В цикле от 0 до N-1 анализируйте элементы текущий и следующий на предмет минимальной разности между ними, при вычислении разности меньше текущей минимальной запоминайте индексы анализируемых элементов для последующего их вывода как результатов программы.

3) Для вырезки пробелов используйте строковые функции, в процедуре заведите цикл от 1 до length(S) и анализируйте каждый символ строки по его номеру на предмет его совпадения с пробелом (код 32), если совпадает - удаляйте символ, индекс цикла при этом уменьшайте на 1 для повторного анализа текущего символа. Организуйте вызов процедуры для каждой строки.
 
Назад
Сверху