Есть ответ 👍

Написать алгоритм перевода чисел из 10тичной системы счисления в любую другую (от 2ичной до 36ричной) и обратно вся прогамма не нужна, только две функции желательно на с#, но можно и на других языках хотелось бы увидеть красивый и логичный код с красиво назваными переменными и без костылей могу и сама но некогда этим заниматься

218
423
Посмотреть ответы 3

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


vara,b,c,i,n,p,s: integer; x: real; p1,g: string; beginwriteln('vvedite chislo'); readln(a); writeln('is kakoi perevodim? '); readln(b); if b=10 then beginwriteln('v kakoi perevodim? '); readln(c); end; n: =0; p: =0;

 

if b< > 10 then begin       'is 10 v lubuyu sistemurepeatx: =exp(ln(b)*n); s: =round(x); p: =p + (a mod 10)*s; a: = a div 10; n: =n+1; until a=0; end

else begin

repeat                         'is luboi sistemi v 10g: =inttostr(a mod c); p1: =p1 + g; a: =a div c; until a< c; p1: =p1+inttostr(a); end;

if p=0 then begin         'vivodfor i: =1 to length(p1) dowrite(p1[length(p1)-i+1]); endelsewrite(p); end.


static string decantjetobin(int antje) {    /*if (antje == 0)        return "0"; */ //косметический 0 перед запятой если целая часть равна 0    string bin = "";

    while (antje ! = 0)    {      bin = (antje % 2).tostring() + bin;       antje /= 2;     }    return bin; }

 

static string decmanttobin(float mant, int precision) {    /*if (mant == 0)        return "0"; */ //косметический 0 после запятой если дробная часть равна 0    string bin = "";     while (mant ! = 0 & & bin.length < = precision)    {      mant *= 2;       bin += ((int)mant).tostring();       mant -= (int)mant;     }    return bin; }

 

static string dectobin(float dec, int precision) {    int antje = (int)dec;     float mant = dec - antje;     return decantjetobin(antje) + "," + decmanttobin(mant, precision); }

 

static string dectobin(int dec) {    return decantjetobin(dec); }

 

static float pow(int a, int x) {    float result = 1;     if (x > 0)      for (int i = 0; i < x; i++)          result *= a;     else      for (int i = x; i < 0; i++)          result /= a;     return result; }

 

static float binmanttodec(string mant) {    float decmant = 0;     for (int i = 0; i < mant.length; i++)      if (mant[i] == '1')          decmant += pow(2, -(i + 1));     return decmant; }

 

static float binantjetodec(string antje) {    float decantje = 0;     for (int i = 0; i < antje.length; i++)      if (antje[i] == '1')          decantje += pow(2, antje.length - i - 1);     return decantje; }

static float bintodec(string bin) {    int indexsep = bin.indexof(',');

    if (indexsep == -1)      return binantjetodec(bin);

    string binant = bin.substring(0, indexsep);     string binmant = bin.substring(indexsep + 1);

    return binantjetodec(binant) + binmanttodec(binmant); }


у нас тоже это было!

вот смотри:

первое а-а, шея-яеш, мама-амам,-это называется слова наобарот

а-1, весна-3, дом-5, река18-а это получение числа 18

Популярно: Информатика