int nomer, a, b, c, nomer1, nomer2, nomer3;
nomer = Convert.ToInt32(textBox1.Text);
a = nomer / 100;
b = nomer % 100 / 10;
c = nomer % 100 % 10;
nomer1 = 0;
nomer2 = 0;
nomer3 = 0;
if (a >= b)
if (a >= c)
nomer1 = a;
if (b >= c)
if (b >= a)
nomer1 = b;
if (c >= a)
if (c >= b)
nomer1 = c;
if (nomer1 == a)
if (c >= b)
nomer2 = c;
else
nomer2 = b;
if (nomer1 == b)
if (c >= a)
nomer2 = c;
else
nomer2 = a;
if (nomer1 == c)
if (a >= b)
nomer2 = a;
else
nomer2 = b;
if (nomer2 == a)
if (b >= c)
nomer3 = c;
else
nomer3 = b;
if (nomer2 == b)
if (a >= c)
nomer3 = c;
else
nomer3 = a;
if (nomer2 == c)
if (b >= a)
nomer3 = a;
else
nomer3 = b;
textBox2.Text = nomer3.ToString() + "" + nomer2.ToString() + "" + nomer1.ToString();
(задача программы была сделать так, чтобы при вводе чисел, они сортировались в порядке возрастания, то бишь: 987 = 789.)
Другие языки программирования и технологии
Помогите логически объяснить программный код.
Вот, пожалуйста:
int nomer, a, b, c, nomer1, nomer2, nomer3; // Инициализация или объявление переменных
nomer = Convert.ToInt32(textBox1.Text); // Вроде это ввод числа
a = nomer / 100; // Деление исходного числа на сто, чтобы найти первую цифру
b = nomer % 100 / 10; // Нахождение остатка от деления исходного числа на сто, а потом еще деление на 10, чтобы найти вторую цифру
c = nomer % 100 % 10; // Нахождение остатка от деления исходного числа на сто, а потом еще нахождение остатка от деление на 10, чтобы найти третью цифру
nomer1 = 0; //
nomer2 = 0; // Здесь обнуляются переменные, которые будут использоваться дальше
nomer3 = 0; //
if (a >= b)
if (a >= c)
nomer1 = a; // Проверка - больше ли первая цифра, чем другие, если да то она ставится на последнее место
if (b >= c)
if (b >= a)
nomer1 = b; // Проверка - больше ли вторая цифра, чем другие, если да то она ставится на последнее место
if (c >= a)
if (c >= b)
nomer1 = c; // Проверка - больше ли третья цифра, чем другие, если да то она ставится на последнее место
if (nomer1 == a)
if (c >= b)
nomer2 = c; Проверка (если первая цифра больше других) - больше ли третья цифра, чем другая, если да то она ставится на второе место, если нет то ставится вторая цифра
else
nomer2 = b;
if (nomer1 == b)
if (c >= a)
nomer2 = c; // Проверка (если вторая цифра больше других) - больше ли третья цифра, чем другая, если да, то она ставится на второе место, если нет, то ставится первая цифра
else
nomer2 = a;
if (nomer1 == c)
if (a >= b)
nomer2 = a; // Проверка (если третья цифра больше других) - больше ли первая цифра, чем другая, если да, то она ставится на второе место, если нет, то ставится первая цифра
else
nomer2 = b;
if (nomer2 == a)
if (b >= c)
nomer3 = c; // Здесь, прошу прощения, не буду писать, так как здесь логика повторяется, но с проверкой на третье место и дальше происходит также.
else
nomer3 = b;
if (nomer2 == b)
if (a >= c)
nomer3 = c;
else
nomer3 = a;
if (nomer2 == c)
if (b >= a)
nomer3 = a;
else
nomer3 = b;
textBox2.Text = nomer3.ToString() + "" + nomer2.ToString() + "" + nomer1.ToString(); // Это, видимо, вывод готового нового числа
Если обобщить, то программа, с помощью деления с остатком и без, находит каждую цифру и постоянно проверяет, какая из них больше и ставит на определенное место. Надеюсь, что я вам помог. Удачи.
int nomer, a, b, c, nomer1, nomer2, nomer3; // Инициализация или объявление переменных
nomer = Convert.ToInt32(textBox1.Text); // Вроде это ввод числа
a = nomer / 100; // Деление исходного числа на сто, чтобы найти первую цифру
b = nomer % 100 / 10; // Нахождение остатка от деления исходного числа на сто, а потом еще деление на 10, чтобы найти вторую цифру
c = nomer % 100 % 10; // Нахождение остатка от деления исходного числа на сто, а потом еще нахождение остатка от деление на 10, чтобы найти третью цифру
nomer1 = 0; //
nomer2 = 0; // Здесь обнуляются переменные, которые будут использоваться дальше
nomer3 = 0; //
if (a >= b)
if (a >= c)
nomer1 = a; // Проверка - больше ли первая цифра, чем другие, если да то она ставится на последнее место
if (b >= c)
if (b >= a)
nomer1 = b; // Проверка - больше ли вторая цифра, чем другие, если да то она ставится на последнее место
if (c >= a)
if (c >= b)
nomer1 = c; // Проверка - больше ли третья цифра, чем другие, если да то она ставится на последнее место
if (nomer1 == a)
if (c >= b)
nomer2 = c; Проверка (если первая цифра больше других) - больше ли третья цифра, чем другая, если да то она ставится на второе место, если нет то ставится вторая цифра
else
nomer2 = b;
if (nomer1 == b)
if (c >= a)
nomer2 = c; // Проверка (если вторая цифра больше других) - больше ли третья цифра, чем другая, если да, то она ставится на второе место, если нет, то ставится первая цифра
else
nomer2 = a;
if (nomer1 == c)
if (a >= b)
nomer2 = a; // Проверка (если третья цифра больше других) - больше ли первая цифра, чем другая, если да, то она ставится на второе место, если нет, то ставится первая цифра
else
nomer2 = b;
if (nomer2 == a)
if (b >= c)
nomer3 = c; // Здесь, прошу прощения, не буду писать, так как здесь логика повторяется, но с проверкой на третье место и дальше происходит также.
else
nomer3 = b;
if (nomer2 == b)
if (a >= c)
nomer3 = c;
else
nomer3 = a;
if (nomer2 == c)
if (b >= a)
nomer3 = a;
else
nomer3 = b;
textBox2.Text = nomer3.ToString() + "" + nomer2.ToString() + "" + nomer1.ToString(); // Это, видимо, вывод готового нового числа
Если обобщить, то программа, с помощью деления с остатком и без, находит каждую цифру и постоянно проверяет, какая из них больше и ставит на определенное место. Надеюсь, что я вам помог. Удачи.
Совершенно бредовая сортировка 3 чисел. По уровню идиотизма занимает, пожалуй, второе место - сразу за Bogosort.
Расставь везде { } - понимать станет намного легче.
Расставь везде { } - понимать станет намного легче.
Сравнивание чисел. Сортировка.
У "Это я" - всё закомментировано //
У "Это я" - всё закомментировано //
Похожие вопросы
- Программа-эта и есть программный код тоесть программный код является программой
- Напишите программный код для урока информатики 11 класса.
- Пожалуйста проверьте, правильно ли составлен программный код, выходит ошибка "Индекс находится вне границы массива
- Помогите исправить программный код на Pascal (индексно-последовательный поиск) вопрос полностью в средине
- помогите построить алгоритм и программный код в ассемблере
- Исправьте мне программный код в visual Basiсе пожалуйста!
- Покажите пример программы 1С, в виде программного кода. интересно посмотреть..
- Как составить программные коды на Паскаль к этой задаче?
- Турбо-паскаль. Пожалуйста, напишите программный код!...=)
- О великие мысли ИТ, подскажите, по какому действующему стандарту нужно оформлять программный код?