В
этом сообщении в первом куске кода я показал, как нужно извлечь информацию о размере депозита и сроке. Как извлечь информацию о фамилии? Подумайте сами, в примере всё необходимое для этого есть. Подсказка: нужно скопировать часть строки от 1 до 10-й позиции и поместить её в специально заведённую для этого строковую переменную.
Далее нам потребуется сравнивать только переменные
числовых типов (ведь переменные Deposit и Months --- числовые). Это ведь Вы умеете?
Чтобы найти максимальный депозит и его владельца, нужно завести отдельную опять же числовую переменную, которую можно назвать, например, MaxDeposit и отдельную строковую переменную, в которой будет храниться фамилия вкладчика, сделавшего максимальный вклад. Например, она будет называться MaxDepositName.
В цикле перебираем все строки и в MaxDeposit заносим текущее максимальное значение, а в MaxDepositName - текущую фамилию вкладчика, внёсшего максимальную сумму.
По окончании цикла MaxDepositName будет содержать фамилию самого богатого вкладчика, а MaxDeposit - размер его вклада.
Если дополнительно нужно будет вывести срок, то для этого опять же нужно будет завести отдельную переменную, MaxDepositPeriod, в которую в цикле будет заноситься срок максимального текущего вклада.
Добавлено спустя 20 минут 30 секунд:
Ещё одна заморочка --- это ввод данных.
Чтобы разобраться с этой заморочкой, нужно сначала определиться, какой именно числовой тип нам нужен для хранения размера и спрока вкладов. Я подозреваю, что нужно завести переменные типа Longint. Тогда мы не сможем работать с вкладами с точностью до копейки и со сроками вкладов, являющимися нецелым числом месяцев, но, по-моему, всё равно банки так и округляют. Зато исчезнут заморочки с тем, как вводить/выводить нецелые данные (например, разделитель целой и дробной частей может быть запятой или точкой, число 100 можно выводить как '100' и как '100.00').
Теперь, при вводе фамилии, вклада и срока, достаточно будет обрезать эти данные до нужного числа позиций, а недостающие позиции забить дополнить пробелами справа:
Код:
var
S, S1: string;
Deposit, Months: Longint;
{...}
Write('Фамилия вкладчика: '); ReadLn(S);
{ Обрезаем фамилию до 10 символов }
S := Copy(S,1,10);
{ Дополняем пробелами справа, если нужно }
while Length(S) < 10 do
S := S + ' ';
{ В переменной S1 будут содержаться и фамилия, и вклад, и срок }
S1 := S;
Write('Размер вклада: '); ReadLn(Deposit);
{ Переводим из числа в строку }
Str(Deposit,S);
{ Далее нужно опять же обрезать эту строку до 8 символов
и дополнить справа пробелами, если нужно. Напишите сами }
{...}
{ Добавляем к S1 размер вклада }
S1 := S1 + S;
Write('Срок вклада в месяцах: '); ReadLn(Months);
{ По аналогии с Deposit }
{...}
{ Добавляем к S1 срок }
S1 := S1 + S;
{ Теперь в S1 у нас находится правильно сформированная строка }
По идее, в учебной задаче по азам программирования не должно быть таких заморочек. Если Вы специально не изучаете в этой теме, например, структуры данных, операции над строками и т.п.