Составить программу в паскале. вам дано три числа a, b и c. вы должны в таком порядке приписать эти числа друг к другу, чтобы в результате получилось минимальное число. например, если a=12, b=5, c=3, приписыванием можно получить числа 1253, 1235, 3125, 3512, 5123, 5312. минимальным среди этих чисел является 1235.

Tilinika Tilinika    2   11.06.2019 02:00    1

Ответы
tatka22345 tatka22345  09.07.2020 07:59
Var
  a: array[1..3] of string;
  i, j, k, min, x: integer;
begin 
for i := 1 to 3 do
  begin
    write('Введите ',i,' число:');
    readln(a[i]);
  end;
x := StrToInt(a[1] + a[2] + a[3]); 
min := x;  for i := 1 to 3 do
for j := 1 to 3 do
      if j <> i then
        for k := 1 to 3 do
          if (j <> k) and (i <> k) then
          begin
            x := StrToInt(a[i] + a[j] + a[k]);
            if x < min then min := x;
          end;
writeln('min=', min)
end.
ПОКАЗАТЬ ОТВЕТЫ
Spy1337 Spy1337  09.07.2020 07:59
var a, b, c, p1, p2, p3, p4, p5, p6 :longint;
    s1, s2, s3, s4, s5, s6, a1, b1, c1 :string;
begin
   read (a);
   read (b);
   read (c);
   str(a,a1);
   str(b,b1);
   str(c,c1);
   s1:=a1+b1+c1;
   s2:=a1+c1+b1;
   s3:=b1+a1+c1;
   s4:=b1+c1+a1;
   s5:=c1+a1+b1;
   s6:=c1+b1+a1;
   val(s1,p1,a);
   val(s2,p2,a);
   val(s3,p3,a);
   val(s4,p4,a);
   val(s5,p5,a);
   val(s6,p6,a);
   a:=p1;
   if p2<a then a:=p2;
   if p3<a then a:=p3;
   if p4<a then a:=p4;
   if p5<a then a:=p5;
   if p6<a then a:=p6;
   writeln(a);
end.
P.S. Грубо говоря мы собираем все возможные варианты, потом находим наименьшее и выводим его.
P.S.S. val(a, b, c) это процедура преобразования строки а в числовое значение b, а c проверка, преобразовалась ли она правильно.
И str(a, b) процедура перевода числового значения a, в строку b;
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика