Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Решите задачу по C#

V M Ученик (87), на голосовании 8 месяцев назад
Напишите программу, которая преобразовывает число из десятеричной системы в шестнадцатеричную.
using System;

public class MainClass
{
public static void Main()
{
string line = Console.ReadLine(); // ввод числа в десятеричной системе

int x = int.Parse(line);

string answer = x;

//Запишите тут Ваш код

Console.WriteLine(answer);
}
}
Голосование за лучший ответ
dada daada Знаток (439) 9 месяцев назад
 class DecimalToLetters 
{
private readonly List listText;
public DecimalToLetters(List listValue)
{
listText = [];
for (int i = 0; i < listValue.Count; i++)
{
if (listValue[i] == 10)
{
listText.Add("A");
}
else
if (listValue[i] == 11)
{
listText.Add("B");
}
else
if (listValue[i] == 12)
{
listText.Add("C");
}
else
if (listValue[i] == 13)
{
listText.Add("D");
}
else
if (listValue[i] == 14)
{
listText.Add("E");
}
else
if (listValue[i] == 15)
{
listText.Add("F");
}
else
{
listText.Add(listValue[i].ToString());
}
}
}

public List GetListHex()
{
listText.Reverse();
return listText;
}
}
class DecimalToHexadecimal(int value)
{
private readonly int _value = value;
private const int hex = 16;


public string Convert()
{
List listValue = [];

int myValue = _value;
int finalValue = 0;
int minValue = 0;

bool IsShare = true;

while(IsShare)
{
finalValue = myValue/hex;

if (myValue > 0)
{
minValue = myValue - finalValue * hex;
listValue.Add(minValue);
}
else
{
IsShare = false;
}
myValue /= hex;
}
var letters = new DecimalToLetters(listValue);
string finalText = string.Join("", [.. letters.GetListHex()]);
return finalText;
}
}
class Program
{
private static void Main(string[] args)
{

Console.Write("Ввод числа в десятеричной системе: ");

try
{
int number = Convert.ToInt32(Console.ReadLine());
DecimalToHexadecimal decimalToHexadecimal = new(number);
Console.WriteLine(decimalToHexadecimal.Convert());
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
}
dada daadaЗнаток (439) 9 месяцев назад
Можете критиковать мой код, но в данном случае, я больше не нашел адекватных простых способов для решения этой задачи
Похожие вопросы