Загрузка...

Development of a program for converting numbers into different number systems. C++

Thread in C/C++ created by Misodzi Apr 9, 2022. 342 views

  1. Misodzi
    Misodzi Topic starter Apr 9, 2022 0 Jun 9, 2019
    Задали курсовую по данной теми, а я изучал питон в надежде на то что можно писать на любом языке, но оказалось наоборот, так что можете помочь и написать код для перевода чисел в разные системы счисления на с++. Сразу говорю бедный студент денег нету
     
  2. vtlstolyarov
    vtlstolyarov Apr 9, 2022 468 Jan 8, 2022
    Если напишешь на питоне то перепишу тебе на плюсы
     
  3. Misodzi
    Misodzi Topic starter Apr 10, 2022 0 Jun 9, 2019
    Python
    def convenrtation(number, nstart=10, nfinish=10):
    if isinstance(number, str):
    i = int(number, nfinish)
    else:
    i = int(number)
    letters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    if i < nstart:
    return letters[i]
    else:
    return convenrtation(i // nstart, nstart) + letters[i % nstart]

    number = input("Введите число: ")
    sistema_start = int(input("Введите из какой системы счисления: "))
    sistema_finish = int(input("Введите в какую систему счисления: "))

    print(convenrtation(number, sistema_finish, sistema_start))
     
    1. View previous comments (8)
    2. vtlstolyarov
      Misodzi, Проблема с проверкой типа аргумента "isinstance" в том что плюсы не скриптовый язык и там это проблематично, поэтому код на питоне будет без бессмысленной проверки, пойдёт?

      Python
      def convenrtation(i, nstart, nfinish):
      letters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
      if i < nfinish:
      return letters[i]
      else:
      return convenrtation(i // nfinish, nstart, nfinish) + letters[i % nfinish]

      number = input("Введите число: ")
      sistema_start = int(input("Введите из какой системы счисления: "))
      sistema_finish = int(input("Введите в какую систему счисления: "))

      i = int(number, sistema_start)

      print(convenrtation(i, sistema_start, sistema_finish))
    3. vtlstolyarov
      Misodzi, В общем если пойдёт, то вот C++ эквивалент того питон кода что я написал:

      C
      #include <iostream>
      #include <string>

      using namespace std;

      string convenrtation(int i, int nstart, int nfinish)
      {
      string letters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
      if (i < nfinish)
      return string(1, letters[i]);
      else
      return convenrtation(i / nfinish, nstart, nfinish) + letters[i % nfinish];
      }

      int main()
      {
      string number;
      cout << "Введите число: ";
      cin >> number;

      string sistema_start;
      cout << "Введите из какой системы счисления: ";
      cin >> sistema_start;

      string sistema_finish;
      cout << "Введите в какую систему счисления: ";
      cin >> sistema_finish;

      int nstart = stoi(sistema_start);
      int nfinish = stoi(sistema_finish);
      int i = stoi(number, nullptr, nstart);

      cout << convenrtation(i, nstart, nfinish);

      return 0;
      }
    4. Misodzi Topic starter
      vtlstolyarov, спасибо что помог с курсовой
Top
Loading...