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

0 голосов

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


спросил от Начинающий (131 баллов) в категории Информатика
2 Ответы
0 голосов
ответил от БОГ (150k баллов)
 
Лучший ответ
// 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
оставил комментарий от Начинающий (131 баллов)

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

0 голосов
ответил от Отличник (8.8k баллов)

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


#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>}

оставил комментарий от Начинающий (131 баллов)

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

оставил комментарий от Отличник (8.8k баллов)

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

оставил комментарий от Отличник (8.8k баллов)

там удобнее

оставил комментарий от Отличник (8.8k баллов)

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

...