Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2018, 11:03   #11
ВаLерий
Новичок
Джуниор
 
Регистрация: 16.09.2018
Сообщений: 8
По умолчанию

Код:
 Console.WriteLine("введите число,а я вычислю вторую справа цифру в восмеричном представлении");
                string i = Convert.ToString(Convert.ToInt32(Console.ReadLine()), 8);
                c = Convert.ToInt32(i);
                b = c / 10 % 10;
                Console.WriteLine("В восьмеричной системе вторая цифра с права: " + b);
                Console.ReadKey();
ВаLерий вне форума Ответить с цитированием
Старый 17.09.2018, 11:28   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от ВаLерий Посмотреть сообщение
Код:
c = Convert.ToInt32(i);
                b = c / 10 % 10;
Это некрасиво, нелогично и, что хуже всего, не универсально.
Попробуйте тоже самое сделать, например, для 16-ричной СС.

да и зачем такие сложности, когда у Вас есть строка и нужно показать вторую справа цифру (== предпоследний символ строки)!

сравните:
Код:
 			Console.WriteLine("введите число,а я вычислю вторую справа цифру в восмеричном представлении");
			string s = Convert.ToString(Convert.ToInt32(Console.ReadLine()), 8);
			Console.WriteLine("В восьмеричной системе вторая цифра справа: {0}", (s.Length>1)?s.Substring(s.Length-2,1):" нет ");
                
			Console.Write("Press any key to continue . . . ");
			Console.ReadKey(true);
или, если тернарный оператор ещё пока не понятен, тогда:
Код:
 			Console.WriteLine("введите число,а я вычислю вторую справа цифру в восмеричном представлении");
			string s = Convert.ToString(Convert.ToInt32(Console.ReadLine()), 8);
			if(s.Length>1){
				Console.WriteLine("В восьмеричной системе вторая цифра справа: {0}", s[s.Length-2]);
			}
			else{
				Console.WriteLine("В восьмеричной системе в числе нет второй цифры справа");
			}

Последний раз редактировалось Serge_Bliznykov; 17.09.2018 в 11:31.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.09.2018, 12:05   #13
ВаLерий
Новичок
Джуниор
 
Регистрация: 16.09.2018
Сообщений: 8
По умолчанию

Обучаюсь самостоятельно по книге, в которой подробно ничего не обьясняется, пишу код который выполняет условия задачи, при этом не понимая логичный он или нет т. п.
Эту часть Вашего кода тоже не могу понять
Код:
 
{0}", (s.Length>1)?s.Substring(s.Length-2,1):" нет "
ВаLерий вне форума Ответить с цитированием
Старый 17.09.2018, 12:14   #14
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

https://ru.wikipedia.org/wiki/%D0%A2...86%D0%B8%D1%8F

Тем более вам ее расписали.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программу, которая создает двухмерный массив и заполняет его по следующему принципу: первый элемент массива принимает значение введенного пользователем числа, второй - число + 1 DEXTER322 Помощь студентам 5 31.03.2019 11:01
[python] функция, которая рассчитывает сумму всех цифр некоторого трехзначного числа, введенного пользователем в консоли, без использования операторов цикла AlexBrave Помощь студентам 12 27.03.2018 16:38
Программа, которая проверяет является ли введенное пользователем число простым С++ программирование Помощь студентам 3 23.01.2014 06:22
программа, которая проверяет есть ли введенное пользователем число простым C++ программирование Помощь студентам 3 21.01.2014 14:49
В двоичном представлении числа инвертировать последнюю цифру. Lexman777 Паскаль, Turbo Pascal, PascalABC.NET 6 25.01.2012 10:42