Упростить код, если возможно - PascalABC.NET
Формулировка задачи:
На вход программы подаются фамилии и имена учеников. Известно, что общее количество учеников не превосходит 100. В первой строке вводится количество учеников, принимавших участие в соревнованиях, N. Далее следуют N строк, имеющих следующий формат:
<Фамилия> <Имя>
Здесь <Фамилия> – строка, состоящая не более чем из 20 символов; <Имя> – строка, состоящая не более чем из 15 символов. При этом <Фамилия> и <Имя> разделены одним пробелом. Примеры входных строк:
Иванова Мария Петров Сергей
Требуется написать программу, которая формирует и печатает уникальный логин для каждого ученика по следующему правилу: если фамилия встречается первый раз, то логин – это данная фамилия, если фамилия встречается второй раз, то логин – это фамилия, в конец которой приписывается число 2 и т.д. Например, для входной последовательностиИванова Мария Петров Сергей Бойцова Екатерина Петров Иван Иванова Наташа
будут сформированы следующие логины:Иванова Петров Бойцова Петров2 Иванова2
------------Упростить: чтобы не было a.Length - 1, IntToStr, s.Split. Так как не проходили.
Решение задачи: «Упростить код, если возможно»
textual
Листинг программы
a[i].Fam := readlnstring; a[i].Fam := Copy(a[i].Fam, 1, Pos(' ', a[i].Fam) - 1);
Объяснение кода листинга программы
- Вводится строка с фамилией в формате
Иванов Иван Иванович
- Используя функцию Pos, мы определяем позицию пробела в строке (в данном случае это будет 5)
- Используя функцию Copy, мы создаем новую строку, которая будет содержать только фамилию без пробелов (в данном случае это будет
Иванов
) - Присваиваем новое значение переменной Fam, которая теперь будет содержать только фамилию без пробелов
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д