Даю 15 баллов за решение. Вам дается строка, содержащая целое положительное число...

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

Даю 15 баллов за решение.
Вам дается строка, содержащая целое положительное число (возможно очень большое) без ведущих нулей. Вам разрешается обменять любые 2 символа строки (2 цифры числа), либо вы можете оставить исходное число. Обмен разрешается только в том случае, если в результате в строке не получилось ведущих нулей.
Среди всех возможных строк, полученных указанным выше способом найдите ту строку, которая задает наименьшее число из всех возможных.
Обратите внимание, что в результате не должно быть ведущих нулей, а также на то, что ответом может быть и сама исходная строка.
Входные данные:
Во входном файле input.txt в первой строке записана строка S, задающая целое положительное число без ведущих нулей.
Выходные данные:
В выходной файл output.txt ваша программа должна вывести строку, содержащую минимальное число, которое можно получить из исходной строки.


Информатика (14 баллов) | 62 просмотров
Дан 1 ответ
0 голосов

Вот , правда с выводом проблемы , т.к. в текстовом документе последняя строка пустая т.е. = 0 и самое маленькое значение равно всегда 0. Вот код думаю допилишь сам

program z;  var imin,i:integer;inf,outf:text;beginimin:=0;assign(inf,'in.txt');reset(inf);  while not EOF(inf) do     begin      readln(inf,i);        if i<imin then imin:=i;    end;close(inf);assign(outf,'out.txt');rewrite(outf);writeln(outf,imin);close(outf);end.

(367 баллов)
0

pastebin.com/u5mTSRbc

0

извините за мою невнимательность, код рабочий - поставьте значение imin:=99999999999 и все заработает

0

а лучше imin:=maxint;