Diskuze: Nevím kde je chyba. Někdo kdo ví?
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
V javascriptu bych si napsal
base16 = '0123456789ABCDEF';
n = 3; hex = base16.charAt(n); document.write(hex);
n = 11; hex = base16.charAt(n); document.write(hex);
base16 = base16.split('') // nebo base16 = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'] // nebo se pouziva slovo map jako mapa
n = 3; hex = base16[n]; document.write(hex);
n = 11; hex = base16[n]; document.write(hex);
Jasne, to je jiny jazyk. Ale udivuje mne, ze jsi volil takhle slozitou cestu, pres case.
Už mám řešení trochu složité, ale funguje.
Console.WriteLine("Číslo v desítkové soustavě: ");
string vstup = "6378";
Console.WriteLine(vstup);
Console.WriteLine("Číselná soustava (2-16): ");
int soustava_vstup = 16;
Console.WriteLine(soustava_vstup);
char[] sestnact = {'A', 'B', 'C', 'D', 'E', 'F'};
char[] pole = new char[vstup.Length];
int k = 0;
int c = 0;
int d = 0;
int[] f = new int[vstup.Length];
for (int i = 0; i < vstup.Length; i++)
{
if (i == 0)
{
c = Convert.ToInt32(vstup) / 16;
k = Convert.ToInt32(vstup) - (c * 16);
}
else
{
c = c / 16;
k = d - (c * 16);
}
d = c;
f[i] = k;
}
Console.WriteLine("Číslo ve zvolené soustavě: ");
int vystup = 0;
char vystup1 = ' ';
for (int j = vstup.Length; j > 0; j--)
{
vystup = f[j-1];
if (vystup > 9)
{
switch (vystup)
{
case 10:
vystup1 = sestnact[0];
break;
case 11:
vystup1 = sestnact[1];
break;
case 12:
vystup1 = sestnact[2];
break;
case 13:
vystup1 = sestnact[3];
break;
case 14:
vystup1 = sestnact[4];
break;
case 15:
vystup1 = sestnact[5];
break;
case 16:
vystup1 = sestnact[6];
break;
}
}
if (vystup > 9)
{
Console.Write(vystup1);
}
else
{
Console.Write(vystup);
}
}
Console.ReadKey();
}
Zobrazeno 3 zpráv z 3.