Форум программистов, компьютерный форум CyberForum.ru

Алгоритм Евклида + системы счисления - C++

Восстановить пароль Регистрация
 
Митина Дарья
 Аватар для Митина Дарья
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 15
10.03.2013, 21:17     Алгоритм Евклида + системы счисления #1
Доброго времени суток!
На С++ работаю пару недель, до этого несколько месяцев на Фортране. Была предложена такя задача:

Найдите среднее арифметическое значение суммы цифр числа A, записанного в разных системах счисления.
Например 124, записанное в системе счисления по основанию 16, состоит из двух цифр: старшая равна 7,
а младшая — 12. Следовательно, сумма цифр 123 по основанию 16 равна 19.
Требуется найти среднее арифметическое значение суммы цифр числа A, записанного во всех системах
счисления от 2 до A-1, включительно.

Все подсчеты следует производить в десятичной системе.
Результат нужно вывести в виде несократимой дроби, записанной в десятичной системе исчисления.


К условию также приписан маленький алгоритм:

1. Сосчитайте сумму всех цифр (2 цикла)
2. Найдите НОД (1 цикл)
3. Выведите ответ без пробелов.


Вот что получилось у меня:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int a,s,m,o;
 
  s = 0;        // счетчик суммы цифр числа
  m = 0;       // счетчик самих цифр
  
  for (o = 2; o <= a-1; o = o + 1) // o - основание системы счисления
  {
     while (a>=0)  // а читаем из входного файла
     {              
        a%o = m;  // здесь предполагается самый простой способ перевода числа из 10й системы в любую другую: 
        s = s + m; // остатки от деления на основание системы
        a = a/o;    // здесь меняем делимое
     }
  }
Это только самое начало... со средним значением тоже проблемы, но основная - все компилируется, но на экране пусто. Любая подсказка или совет будут неоценимы! Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2013, 21:17     Алгоритм Евклида + системы счисления
Посмотрите здесь:

C++ Алгоритм Евклида
C++ Простейший алгоритм перевода числа из 10 системы счисления в 16 ричную систему счисления
C++ Перевод натурального числа из десятичной системы счисления в систему счисления по основанию
C++ Перевод чисел из двоичной системы счисления в систему счисления кратной степеням двойки и обратно
C++ Написать рекурсивный алгоритм перевода из двоичной системы счисления в десятичную ( из восьмеричной и шестнадцатеричной в десятичную)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gazlan
2863 / 1811 / 272
Регистрация: 27.08.2010
Сообщений: 4,908
Записей в блоге: 1
10.03.2013, 22:26     Алгоритм Евклида + системы счисления #2
на экране пусто
Добавьте в нужном месте вывод на консоль. Например:
C++
1
printf("Now a is: %d\n",a);
Митина Дарья
 Аватар для Митина Дарья
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 15
10.03.2013, 22:48  [ТС]     Алгоритм Евклида + системы счисления #3
Да, я забыла вставить эту строку в первое сообщение, она есть, но ничего не выводится. Может в самом цикле что-то не то?
gazlan
2863 / 1811 / 272
Регистрация: 27.08.2010
Сообщений: 4,908
Записей в блоге: 1
10.03.2013, 22:58     Алгоритм Евклида + системы счисления #4
забыла вставить эту строку
А чтение из входного файла тоже забыли вставить?
Yandex
Объявления
10.03.2013, 22:58     Алгоритм Евклида + системы счисления
Ответ Создать тему
Опции темы

Текущее время: 19:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru