7) Дано произвольное натуральное число, в котором все цифры различны. Удалить все цифры...

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

7) Дано произвольное натуральное число, в котором все цифры различны. Удалить все цифры между максимальной и минимальной цифрой.
Можно сделать в паскале ,Симантике ,,С++


Информатика (131 баллов) | 55 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1562 от 02.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var ИсходноеЧисло:=ReadlnString('Введите исходное целое число:');
  var МассивЦифрЧисла:=ИсходноеЧисло.ToCharArray;
  var МестоМаксЦифры:=МассивЦифрЧисла.IndexMax;
  var МестоМинЦифры:=МассивЦифрЧисла.IndexMin;
  If МестоМинЦифры>МестоМаксЦифры then Swap(МестоМинЦифры,МестоМаксЦифры);
  ИсходноеЧисло:=ИсходноеЧисло?[:МестоМинЦифры+1]+
      ИсходноеЧисло?[МестоМаксЦифры+2:];
  Writeln('Результат замены: ',ИсходноеЧисло)
end.

Пример
Введите исходное целое число: 1402956387
Результат замены: 1456387
(150k баллов)
0

А попроще можно

0 голосов

Вроде работает


#include

using namespace std;

int main()

string s; 
cin >> s; 
int imin = 0, imax = 0; 
char Min = '9'+ '0'; char Max = '0'-'0'; 
 for (int i = 0; i < s.length(); ++i) 
   {   
     if (s[i] < Min)   
    { 
           Min = s[i]; 
           imin = i; 
    }   
     if (s[i] > Max)     
    { 
          Max = s[i]; 
          imax = i;
    } 
    

  s.erase(1 + min(imax, imin), abs(imax-imin) - 1);
  cout << s;<br>}

(8.8k баллов)
0

Можешь только строчки нормально перенести

0

я на пастебин выложил код

0

там удобнее

0

Спасибо за предупреждение