) Дано четырехзначное число ( Любое придумать можно ). Поменяйте местами наименьшую и наибольшую цифры.
( решение в виде кода )

Pon4ik66 Pon4ik66    1   31.10.2021 04:40    8

Ответы
гататвтврвга гататвтврвга  31.10.2021 06:00

Алгоритм к сожалению занял у меня много строк.

using System.Linq;//Для Min и Max

namespace Answer//ответ

{

class Program//Класс программы

{

static void Main()//Точка входа в программу

{

int Number = 0;//Число

char[] Temp;//Временная, вс переменная

int NumeralMinPosition = 0;//Позиция минимальной цифры в числе

int NumeralMaxPosition = 0;//Позиция максимальной цифры в числе

string Str = "";//Строка

int Numeral0, Numeral1, Numeral2, Numeral3;//Цифры

int NumeralMin;//Минимальная цифра

int NumeralMax;//Максимальная цифра

//Random Rand = new Random();//Создаем генератор случайных чисел

//Number = Rand.Next(1000, 9999);//Генерируем случайное четырехзначное число

//-> Стоит придумать это число самому

//Алгоритм не будет работать если выпадет число

//-> к примеру 8888

Number = 8956;//Указываем значение для числа

//Преобразуем число в строку, а затем в char

Temp = Number.ToString().ToCharArray();

Console.WriteLine(Number);//Выводим число

//Разбираем число на цифры

Numeral0 = int.Parse(Temp[0].ToString());

Numeral1 = int.Parse(Temp[1].ToString());

Numeral2 = int.Parse(Temp[2].ToString());

Numeral3 = int.Parse(Temp[3].ToString());

string Numerals = $"{Numeral0} {Numeral1} {Numeral2} {Numeral3}";

var Massive = Numerals.Split(" ");

//Выводим результат

Console.WriteLine(Numerals);

//Ищем минимальную цифру

NumeralMin = int.Parse(Massive.Min());

//Ищем максимальную цифру

NumeralMax = int.Parse(Massive.Max());

//Вычисляем позицию минимальной цифры

if (Numeral0 == NumeralMin) NumeralMinPosition = 0;

else if (Numeral1 == NumeralMin) NumeralMinPosition = 1;

else if (Numeral2 == NumeralMin) NumeralMinPosition = 2;

else if (Numeral3 == NumeralMin) NumeralMinPosition = 3;

//Вычисляем позицию максимальной цифры

if (Numeral0 == NumeralMax) NumeralMaxPosition = 0;

else if (Numeral1 == NumeralMax) NumeralMaxPosition = 1;

else if (Numeral2 == NumeralMax) NumeralMaxPosition = 2;

else if (Numeral3 == NumeralMax) NumeralMaxPosition = 3;

//Подводим итог

Temp[NumeralMinPosition] = char.Parse(NumeralMax.ToString());//Ставим макс. цифру на место минимальной

Temp[NumeralMaxPosition] = char.Parse(NumeralMin.ToString());//Став мин. цифру на место максимальной

//Выводим результаты

Console.WriteLine($"Цифры: {NumeralMin} и {NumeralMax} - сменены местами!");

string Result = new string(Temp);

Console.WriteLine(Result);

}

};

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика