Загрузка...

Разработка программы для перевода чисел в разные системы счисления. С++

Тема в разделе C/C++ создана пользователем Misodzi 9 апр 2022. 341 просмотр

  1. Misodzi
    Misodzi Автор темы 9 апр 2022 0 9 июн 2019
    Задали курсовую по данной теми, а я изучал питон в надежде на то что можно писать на любом языке, но оказалось наоборот, так что можете помочь и написать код для перевода чисел в разные системы счисления на с++. Сразу говорю бедный студент денег нету
     
  2. vtlstolyarov
    vtlstolyarov 9 апр 2022 468 8 янв 2022
    Если напишешь на питоне то перепишу тебе на плюсы
     
  3. Misodzi
    Misodzi Автор темы 10 апр 2022 0 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))
     
    10 апр 2022 Изменено
    1. Посмотреть предыдущие комментарии (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 Автор темы
      vtlstolyarov, спасибо что помог с курсовой
Top
Загрузка...