Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабы / лаб5 / lab5_dop

.pas
Скачиваний:
15
Добавлен:
07.06.2023
Размер:
1 Кб
Скачать
program lab5_dop;
const n = 203;
var
    results: array[1..n+1] of string;
    s, temp_s: string;
    i,j,temp_pos: integer;
begin
    for i:=1 to n+1 do
    begin
        s := '';

        // формируем строку
        for j:= 1 to n+1 do
        begin
            if (j=i) then s := s + '2'
            else s := s + '1';
        end;
        
        // выполняем алгоритм, описанный в задании
        while ((pos('111',s) <> 0) or (pos('222',s) <> 0)) do
        begin
            if (pos('111',s) <> 0) then
            begin
                temp_pos := pos('111',s);
                delete(s,temp_pos,3);
                insert('22',s,temp_pos);
            end 
            else
            begin
                temp_pos := pos('222',s);
                delete(s,temp_pos,3);
                insert('11',s,temp_pos);
            end;
        end;

        // добавляем результат в массив
        results[i] := s;
    end;
    
    // сортируем массив
    for i:=1 to n+1 do
    begin
        for j:=1 to n do
        begin
            if (Length(results[j]) > Length(results[j+1])) then
            begin
                temp_s := results[j];
                results[j] := results[j+1];
                results[j+1] := temp_s;
            end;
        end;
    end;

    WriteLn(results[n+1]);
end.
Соседние файлы в папке лаб5