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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2013, 13:14   #11
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Теперь нужна функция вычитания двух двоичных чисел)
Код:
Function Substract(ch1 As String, ch2 As String) As String
  I = Len(ch1)
  J = Len(ch2)
  Zaym = 0
  Res = ""
  While (I > 0) Or (J > 0)
    If I > 0 Then
      A = CInt(Mid(ch1, I, 1))
    Else
      A = 0
    End If
    If J > 0 Then
      B = CInt(Mid(ch2, J, 1))
    Else
      B = 0
    End If
    C = A - B - Zaym
    Select Case C
      Case -1
        Res = "1" & Res
        Zaym = 1
      Case -2
        Res = "0" & Res
        Zaym = 1
      Case Else
        Res = C & Res
        Zaym = 0
    End Select
    I = I - 1
    J = J - 1
  Wend
End Function
только функция не учитывает отрицательный результат, поскольку ни слова не было сказано о том, как это все будет представлено)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 28.01.2013, 15:26   #12
Akika
Пользователь
 
Регистрация: 02.12.2012
Сообщений: 36
По умолчанию

Благодарствую, DiemonStar! ))
Akika вне форума Ответить с цитированием
Старый 28.01.2013, 15:33   #13
Akika
Пользователь
 
Регистрация: 02.12.2012
Сообщений: 36
По умолчанию

Только что была на консультации у преподавателя которому сдаю, собственно. Итог, изначально не правильно поняла -____-
Огромное спасибо откликнувшимся! За поддержку)))
Кто может помочь с реализацией с помощью Xor? И вообще с этой программой. Согласна на любую помощь, даже за вознаграждение.
UIN: 458319296
Akika вне форума Ответить с цитированием
Старый 28.01.2013, 16:05   #14
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
Function XOR_Bin(ch1 As String, ch2 As String) As String
  I = Len(ch1)
  J = Len(ch2)
  Res = ""
  While (I > 0) Or (J > 0)
    If I > 0 Then
      A = CInt(Mid(ch1, I, 1))
    Else
      A = 0
    End If
    If J > 0 Then
      B = CInt(Mid(ch2, J, 1))
    Else
      B = 0
    End If
    C = A Xor B
    Res = C & Res
    I = I - 1
    J = J - 1
  Wend
  XOR_Bin = Res
End Function
делаем по аналогии.

Код:
Function XOR_Bin(ch1 As String, ch2 As String) As String
  I = Len(ch1)
  J = Len(ch2)
  Res = ""
  While (I > 0) And (J > 0)
    If I > 0 Then
      A = CInt(Mid(ch1, I, 1))
    Else
      A = 0
    End If
    If J > 0 Then
      B = CInt(Mid(ch2, J, 1))
    Else
      B = 0
    End If
    C = A Xor B
    Res = C & Res
    I = I - 1
    J = J - 1
  Wend
  XOR_Bin = Left(ch1, I) & Left(ch2,J) & Res
End Function
или так, чтобы меньше цикл перебирать
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 28.01.2013 в 16:18.
DiemonStar вне форума Ответить с цитированием
Старый 28.01.2013, 16:35   #15
Akika
Пользователь
 
Регистрация: 02.12.2012
Сообщений: 36
По умолчанию

DiemonStar, ВЫ МОЙ ГЕРОЙ!)
Функции работают, только не совсем понимаю, верен ли результат...
Не могли бы посмотреть весь документ? Только не знаю как, он сюда грузиться не хочет..
Akika вне форума Ответить с цитированием
Старый 28.01.2013, 16:44   #16
Akika
Пользователь
 
Регистрация: 02.12.2012
Сообщений: 36
По умолчанию

Вот,
http://rusfolder.com/34729198
Akika вне форума Ответить с цитированием
Старый 28.01.2013, 16:52   #17
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Если только завтра - сегодня уже не будет времени.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 28.01.2013, 16:54   #18
Akika
Пользователь
 
Регистрация: 02.12.2012
Сообщений: 36
По умолчанию

А завтра в какое время? Просто завтра сдавать -____-
Akika вне форума Ответить с цитированием
Старый 28.01.2013, 19:33   #19
Akika
Пользователь
 
Регистрация: 02.12.2012
Сообщений: 36
По умолчанию

Дорогие форумчане! У кого есть минут 15 свободного времени, проверьте окончательный вариант программы.

http://www.fayloobmennik.net/2557871

она не работает на дешифрование.. не пойму в чем беда..
Akika вне форума Ответить с цитированием
Старый 30.01.2013, 10:01   #20
Akika
Пользователь
 
Регистрация: 02.12.2012
Сообщений: 36
По умолчанию

Сдал! Спасибо всем! Вот окончательный вариант функции, вдруг кому пригодиться ^^
Код:
Function XOR_Bin(ch1 As String, ch2 As String) As String
  i = Len(ch1)
  j = Len(ch2)
  res = ""
  While (i > 0) Or (j > 0)
    If i > 0 Then
      a = CInt(Mid(ch1, i, 1))
    Else
      a = 0
    End If
    If j > 0 Then
      b = CInt(Mid(ch2, j, 1))
    Else
      b = 0
    End If
    C = a Xor b
    res = res + Trim(Str(C))
    i = i - 1
    j = j - 1
  Wend
  res = StrReverse(res)
  XOR_Bin = res
End Function
Akika вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа в С++ для перевод из десятичной системы счисления в двоичную. VladJAy Помощь студентам 3 23.10.2012 16:03
Перевод из римской системы счисления в десятичную и наоборот Александр77777 Помощь студентам 3 19.01.2012 15:42
Pascal. перевод из десятичной системы счисления в двоичную Xeon332 Помощь студентам 3 24.01.2011 13:54
Перевод из десятичной сист. счисления в любую другую(С++) lenk0belk0 Помощь студентам 0 08.10.2010 08:58