Решение задачи в прикрепленном текстовом файле. Описание алгоритма: Полученные строки хранятся в массиве s. Элементы массива сортируются так называемой "пузырьковой" сортировкой. Для сравнения двух строк используется функция less, возвращающая истину если первая из двух переданных в функцию строк лексикографически меньше. А дальше дело за малым: просто выводим элементы отсортированного массива без первых трех символов (номера строк). Единственная проблема, которая может возникнуть: на некоторых компьютерах программа не работает с русским языком. Но это уже технические проблемы. Само же решение верно. Удачи!
В прикрепленном изображении указаны формулы, необходимые для решения этой задачи. Код программы приведен ниже. Удачи!
var a1, a5, an, d, sum, n : integer; begin readln(a1, a5, n); {получаем на вход первый и пятый члены прогрессии и число n} d := (a5 - a1) div 4; {Находим разность прогрессии} an := a1 + (n - 1) * d; {Находим член прогрессии с номером n} sum := ((a1 + an) * n) div 2; {Находим сумму первых n членов прогрессии} writeln('n-ый член прогрессии: ', an); writeln('Сумма первых n членов прогрессии: ', sum); end.
Описание алгоритма:
Полученные строки хранятся в массиве s.
Элементы массива сортируются так называемой "пузырьковой" сортировкой. Для сравнения двух строк используется функция less, возвращающая истину если первая из двух переданных в функцию строк лексикографически меньше.
А дальше дело за малым: просто выводим элементы отсортированного массива без первых трех символов (номера строк).
Единственная проблема, которая может возникнуть: на некоторых компьютерах программа не работает с русским языком. Но это уже технические проблемы. Само же решение верно.
Удачи!