дано натуральное число, состоящее из разных цифр. найти и вывести на экран порядковые номера двух его максимальных цифр( с конца и с начала) и двух его минимальных( с конца и с начала) — Pascal(Паскаль)

program z1;
var err,temp,i,x,pMin,pMax,Max,Min:integer;xStr:string;
BEGIN
  writeln('Vvedite 4iclo');     
  readln(x);                {Получаем число}
  str(x,xstr);              {конвертируем в тип string и записываем в xStr}
  val(copy(xStr,1,1),Min,err);      {вырежем и конвертанем первую цифру числа в тип числовой тип,это и будет первым элементом Min}
  pMin:=1;              {позиция первого минимума 1}
   for i:=1 to length(xstr) do      {циклимся от 1 до длинны числа(тип:string)}
   begin                {начало цикла}
      val(copy(xStr,i,1),temp,err); {конвертим вырезанную цифру в числовой тип}
      if temp > max then        {если полученная цифра больше максимума то...}
      begin
         max:= temp;            {присвоим её Max}
         pMax:=i;           {запишим её позицию в pMax}
      end;
      if temp < Min then        {тоже самое с минимумом}
      begin
          min:=temp;
          pMin:=i
      end;
   end;
 writeln('Max = ',Max);         {вывод результатов}
 writeln('Position = ',pMax);
 writeln('Min = ',Min);
 writeln('Position = ',pMin);
 readln;                {просто для того чтобы можно было посмотреть результат}
end.

Leave a Comment

8 + 2 =