Вопрос задан 20.06.2023 в 09:42. Предмет Информатика. Спрашивает Berkyt Danil.

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

наибольшую цифры. 30 баллов ( решение в виде кода )
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Мамаев Максим.

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

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);

}

};

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример кода на C# для обмена местами наименьшей и наибольшей цифры в четырехзначном числе:

```csharp using System;

class Program { static void Main() { // Введите четырехзначное число Console.Write("Введите четырехзначное число: "); int number = int.Parse(Console.ReadLine());

// Проверяем, что введено четырехзначное число if (number < 1000 || number > 9999) { Console.WriteLine("Пожалуйста, введите четырехзначное число."); return; }

// Вызываем функцию для обмена цифр int result = SwapMinMaxDigits(number);

// Выводим результат Console.WriteLine($"Число после замены: {result}"); }

static int SwapMinMaxDigits(int num) { // Разбиваем число на цифры int[] digits = new int[4]; for (int i = 0; i < 4; i++) { digits[i] = num % 10; num /= 10; }

// Ищем индексы минимальной и максимальной цифры int minIndex = Array.IndexOf(digits, digits.Min()); int maxIndex = Array.IndexOf(digits, digits.Max());

// Меняем местами минимальную и максимальную цифры int temp = digits[minIndex]; digits[minIndex] = digits[maxIndex]; digits[maxIndex] = temp;

// Собираем число из измененных цифр int result = 0; for (int i = 3; i >= 0; i--) { result = result * 10 + digits[i]; }

return result; } } ```

Программа сначала запрашивает у пользователя четырехзначное число, затем вызывает функцию `SwapMinMaxDigits`, которая выполняет обмен местами наименьшей и наибольшей цифры в числе. Полученный результат выводится на экран.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос