Решить задачу с графов. Между городами А, В, С, D проложены дороги. Протяженность дорог указана на схеме. Определи два города, которые расположены максимально удаленно друг от друга(передвигаться между городами можно только по дорогам, указанным на схеме). В ответе укажи кратчайшее расстояние между этими городами.
Рекомендую для задачи взять принцип работы почтовой службы, там сортировка имеет критически важное значение.
Например: В почтовое отделение поступило 45 посылок и 68 писем, которые необходимо рассортировать по индексу, весу (или любому другому критерию, которые придумать должен решающий задачу). Так же на почту из центрального отделения привезли 30 посылок и 142 письма, которые необходимо рассортировать для почтальонов по принципу (напрмер номера домов, фамилии получателей и вес (объем) посылки, для определения вида доставки, а так же внутри этой подкатегорию сортировки по имени, номеру и т.п.). Тут можно много сюжетов придумать, думаю вам легче будет это сделать, я лишь предложил направление. Надеюсь полезное.
Var s,s1:string; i,n,n1,k,p:integer; begin Write('Введите строку: '); Readln(s); n:=Length(s); Write('Введите подстроку: '); Readln(s1); n1:=Length(s1); k:=0; i:=1; while i<=n-n1+1 do begin p:=pos(s1,s,i); if p>0 then begin Inc(k); i:=p+n1 end else i:=n; { для выхода } end; Writeln(s1,' встречается в ',s,' ',k,' раз(а)') end.
Пример Введите строку: Наша Таня громко плачет: уронила в речку мячик Введите подстроку: ро ро встречается в Наша Таня громко плачет: уронила в речку мячик 2 раз(а)
Например:
В почтовое отделение поступило 45 посылок и 68 писем, которые необходимо рассортировать по индексу, весу (или любому другому критерию, которые придумать должен решающий задачу).
Так же на почту из центрального отделения привезли 30 посылок и 142 письма, которые необходимо рассортировать для почтальонов по принципу (напрмер номера домов, фамилии получателей и вес (объем) посылки, для определения вида доставки, а так же внутри этой подкатегорию сортировки по имени, номеру и т.п.).
Тут можно много сюжетов придумать, думаю вам легче будет это сделать, я лишь предложил направление. Надеюсь полезное.
s,s1:string;
i,n,n1,k,p:integer;
begin
Write('Введите строку: '); Readln(s); n:=Length(s);
Write('Введите подстроку: '); Readln(s1); n1:=Length(s1);
k:=0; i:=1;
while i<=n-n1+1 do begin
p:=pos(s1,s,i);
if p>0 then begin Inc(k); i:=p+n1 end
else i:=n; { для выхода }
end;
Writeln(s1,' встречается в ',s,' ',k,' раз(а)')
end.
Пример
Введите строку: Наша Таня громко плачет: уронила в речку мячик
Введите подстроку: ро
ро встречается в Наша Таня громко плачет: уронила в речку мячик 2 раз(а)