Нужна программа ** языке Паскаль, задание: Дан список из n фамилий. Определить,...

0 голосов
95 просмотров

Нужна программа на языке Паскаль, задание: Дан список из n фамилий. Определить, содержится ли в списке указанная фамилия; если да, то указать номер, под которым она встречается в списке первый раз, если же такой фамилии нет, то добавить ее к первоначальному списку.
Исходный список неупорядочен. Новую фамилию внести в список после самой длинной фамилии.


Информатика (15 баллов) | 95 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1457 от 29.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadlnInteger('Количество фамилий:');
  var L:=ReadSeqString('Вводите фамилии построчно:',n).ToList;
  var f:=ReadlnString('Искать фамилию:');
  var i:=L.FindIndex(w->w=f);
  if i>=0 then Writeln('Номер в списке- ', i+1)
  else begin
    i:=L.Select(w->w.Length).ToArray.IndexMax;
    L.Insert(i+1,f);
    Writeln('Вставлена после фамилии ',L[i]);
    L.Println
    end
end.

Примеры

Количество фамилий: 6
Вводите фамилии построчно: Иванов
Петрова
Сидоров
Сидорчук
Ножкина
Жук
Искать фамилию: Ножкина
Номер в списке- 5

Количество фамилий: 6
Вводите фамилии построчно: Иванов
Петрова
Сидоров
Сидорчук
Ножкина
Жук
Искать фамилию: Ложкина
Вставлена после фамилии Сидорчук
Иванов Петрова Сидоров Сидорчук Ложкина Ножкина Жук
(150k баллов)
0

Это да. Я вам буду признательна, если вы все же сможете мне помочь сделать программу попроще)

0

Turbo Pascal