Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 5

Разобраться в коде

04.10.2015, 20:02. Показов 574. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Помогите пожалуйста разобраться в коде. Перевод из любой СС в любую.
Буду очень благодарен.
Код полностью рабочий, но, к сожалению, не понимаю принцип.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <iostream>
#include <cmath>
 
const char alpha[16]="0123456789ABCDE";
 
using namespace std;
 
int val_char(char s, int osn)
  { for (int val=0; val < osn; val++)
      if (s==alpha[val]) return val;
 
      return -1;
  }
 
//---------------------------------------------------------------------------
int ret_str_dig (float *N, int osn, char* str)
 { int x = 0;
   bool minus = false, flag_point=false;
   float r = 0, base = 1;
 
  if (*str=='\0') return 0;
 
  char *str1 = str;
  if (*str1=='-') { minus = true; str1++;}
 
  for (;*str1!='\0';str1++)
      {
         if ((!flag_point)&&(*str1=='.')) {
           flag_point = true;
           continue;}
 
         x = val_char(*str1,osn);
         if (x>=0)
          { if (flag_point) {base = base/osn; r = r + base * x;}
            else r = (r * osn + x);}
         else return 0;
      }
 
  if (minus) *N = - r;
  else *N = r;
 
  return 1;
 }
 
void ret_dig_to_str (float N, int osn, char *main_string)
{  int i=49,j=0, modd, k;
   float x;
   int u;
   char str[50], str_after_point[50];
 
///// целая часть //////////////////////////
     u=abs((int)N);
     for (;(i>0)&&(u!=0);i--) {modd=u%osn; str[i]=alpha[modd]; u=(int)u/osn;}
 
     if (u>0) {str[i]='e'; goto return_back;}
     if (N<0) {str[i]='-'; u=abs(u);i--;}
 
////// дробная часть ///////////////////////
     if (N!=(int)(N))
      { x=N-(int)(N); x=abs(x);
        for (;(j<i)&&(x!=0);j++){x*=osn; str_after_point[j]=alpha[(int)x]; x-=(int)x;}
      }
////////////////////////////////////////////
 
return_back:
   i++;
   for (modd=0, k=i; k<50; k++,modd++) main_string[modd]=str[k];
 
   if (N!=(int)N)
    { main_string[modd]='.'; modd++;
      for (k=0; k<j; k++, modd++) main_string[modd]=str_after_point[k];
    }
 
    main_string[modd] = '\0';
}
 
int main()
{ float x=0;
  char local_output[60];
  char inp[20];
  int n;
 
double t;
  cout<<"Vvedite v 16 sisteme s4isleniya"<<endl;
  cin>>inp;
  if (ret_str_dig (&x, 16, inp)==0){cout<<"Error in x"; return 0;}
  ret_dig_to_str (x, 8, local_output);
  cout<<endl<<local_output<<endl;
 
 
  cout<<"Vvedite v 8 sisteme s4isleniya"<<endl;
  cin>>inp;
  if (ret_str_dig (&x, 8, inp)==0){cout<<"Error in x"; return 0;}
  ret_dig_to_str (x, 4, local_output);
  cout<<endl<<local_output;
 
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.10.2015, 20:02
Ответы с готовыми решениями:

Разобраться в коде
Алгоритм сортирует элементы матрицы согласно схеме (см. изображение), в порядке убывания и методом пузырька. Происходит движение: 1) вниз...

Разобраться в коде
Я чайник в программировании и я надеюсь, что этот сайт поможет мне научится программировать ) Вот код: procedure...

Разобраться в коде
Здраствуйте. Может кто нибуть мне помочь обьяснить что означает вот етот код: $(&quot;#button&quot;).click( function(event){ ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.10.2015, 20:02
Помогаю со студенческими работами здесь

Разобраться в коде
https://msdn.microsoft.com/en-us/library/debx8sh9%28v=vs.110%29.aspx Помогите объяснить работу этого кода, чтоыб его можно было...

Разобраться в коде
#include &lt;iostream&gt; #include &lt;math.h&gt; #define n 3 int m = { -3; 6; -5; 1; 2; -9; 0; 4; -3 }; int main() { int i, j, q, h, w =...

Разобраться в коде
$(function () { Register.initialize({ formId: '#register-form', registerBtnId: '#registerBtn', ...

Разобраться в коде C#
Задание в С#. помогите с кодом разобраться. Код уже весь готовый . Если можно поясните поподробнее что куда и зачем.. using System; ...

Разобраться в коде
Вот код: (defun u (n x) (cond ((zerop n) 0) ((= n 1) (* 2 x)) (t (- (* 2 x (u (- n 1) x)) (u (- n 2) x)))))...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru