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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 04.04.2009, 15:06   #1
Volchara
Пользователь
 
Аватар для Volchara
 
Регистрация: 25.03.2009
Сообщений: 55
По умолчанию Подправьте мой код пожалуйста

Задание - перевести число из любой системы счисления в десятичную. Заранее извините за плохой код и ламерство, но мой код не работает. Посмотрите что там, плиз.
Код:
void TransferInADecimalNotation (char ch [], int syst)
{
     int i, len = strlen (ch), result = 0, stepen = 1;
     for (i = 0; i <= len; i++)
     {
         for (int k = 0; k < (len - i); k++)
         {
             stepen *= syst;
         }
         
              if (ch [i] == 'A') result += stepen * 10;
         else if (ch [i] == 'B') result += stepen * 11;
         else if (ch [i] == 'C') result += stepen * 12;
         else if (ch [i] == 'D') result += stepen * 13;
         else if (ch [i] == 'E') result += stepen * 14;
         else if (ch [i] == 'F') result += stepen * 15;
         
         else result += stepen * ch [i];
     }
     
     printf ("%d", result);
}
строка ch - это число (так в задании сказано).
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
Volchara вне форума
Старый 04.04.2009, 15:16   #2
hen
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 96
По умолчанию

У меня тоже было такое задание, только на паскале, может это поможет тебе ...

Код:
Program perevod;
Uses crt;
Var N, K, R, i, O, t, y: integer;
                      u: real;
    B, C: string;
Begin
 Clrscr;
 Write('Введите целое число: '); Read(N);
 Write('Укажите основание системы счисления данного числа: '); Read(K);
 Str (N, B);
 R:=length(B);
 O:=0;
 u:=0;
 for i:=r downto 1 do
      begin
      C:=copy(b,i,1);
      val(c,t,y);
      u:= u + t*(exp(O*ln(K)));
      O:=O+1;
      end;
Writeln('Результат: ');
writeln(u:3:0);
readkey;
End.
hen вне форума
Старый 04.04.2009, 15:34   #3
Volchara
Пользователь
 
Аватар для Volchara
 
Регистрация: 25.03.2009
Сообщений: 55
По умолчанию

А это может кто - нибудь на Си перевести, а то я Паскаля не знаю
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
Volchara вне форума
Старый 05.04.2009, 20:12   #4
Volchara
Пользователь
 
Аватар для Volchara
 
Регистрация: 25.03.2009
Сообщений: 55
По умолчанию

Люди, помогите плиз. Очень надо.
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
Volchara вне форума
Старый 06.04.2009, 02:16   #5
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию

держи ненаю, вроде прально
Код:
void TransferInADecimalNotation (char ch [], int syst)
{
     int i, j, len = strlen (ch), result = 0, stepen;
     for (i=0,j=1; i <= len,j<=len; i++,j++)
     {
		 stepen = len-j;
                 
              if (ch [i] == 'A' || ch [i] == 'a') result += 10;
         else if (ch [i] == 'B' || ch [i] == 'b') result += 11;
         else if (ch [i] == 'C' || ch [i] == 'c') result += 12;
         else if (ch [i] == 'D' || ch [i] == 'd') result += 13;
         else if (ch [i] == 'E' || ch [i] == 'e') result += 14;
         else if (ch [i] == 'F' || ch [i] == 'f') result += 15;

         else result += pow(syst,stepen) * (ch [i]-48);
     }
     
     printf ("%d", result);
}
DeFace вне форума
Старый 06.04.2009, 17:05   #6
Volchara
Пользователь
 
Аватар для Volchara
 
Регистрация: 25.03.2009
Сообщений: 55
По умолчанию

DeFace, спасибо огромное.
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
Volchara вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подправьте ПЛЗ. Макрос Viento Microsoft Office Excel 4 30.01.2009 15:58
Почему мой код не завершает процесс? Stilet Win Api 1 24.07.2008 20:28
Проверьте пожалуйста код forumu Помощь студентам 1 27.12.2007 21:49
Подскажите, пожалуйста код Romuald Microsoft Office Excel 8 04.12.2007 17:39
Тени в OpenGL - оцените, пожалуйста мой метод... WittySpark Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 14.11.2007 17:54