Предмет: Информатика, автор: goorstetjooke

Помогите с заданием по PASCAL, пожалуйста, срочно!!! Заранее спасибо!!

Приложения:

Ответы

Автор ответа: KnowsUser1
0

Ответ:

#PascalABC.NET

begin

 var counter := 0;

 var Notebook := new List<array of string>;

 var rec := Readstring('новая запись: ');

 while rec <> 'end' do begin

   Notebook.Add(rec.Split(' '));

   rec := ReadString('новая запись: ');

 end;

 Notebook.ForEach(rec -> Println(rec));

 foreach var recs in Notebook do begin

   if (recs[2].ToLower = 'алексей') and (recs[3].ToLower = 'михайлович') and (recs[7].StartsWith('4')) then counter += 1;

 end;

 print(counter);

end.

Глупо конечно такие таблицы хранить просто массивами, но в принципе оно делает вид, что работает корректно. "защита от дурака" не предусмотрена, если ввести строку с меньшим кол-вом слов, то будет исключение индекса - т.к телефон храниться с ячейке массива под индексом 7, то при длине записи меньше 7 позиций он туда обратиться, очевидно, не сможет.


KnowsUser1: п.с - что бы остановить ввод справочника, введите слово end
goorstetjooke: Секунду
goorstetjooke: Вот, я на скриншоте все подробнее расписал: https://imgur.com/a/weN2S8g
afarenkotjorter: Можешь в новой теме перерешать: https://znanija.com/task/34545272
Похожие вопросы