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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.82
sparta4ok
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 9
#1

Перевод чисел из 10 сс в 8 сс на С++ - C++

17.12.2011, 20:14. Просмотров 3642. Ответов 21
Метки нет (Все метки)

Задание: дается число m в десятичной системе счисления, надо преобразовать в 8-ричную систему счисления и подсчитать количество четных чисел n в восьмеричной записи числа. И всё это написать на C++ ! Помогите пожалуйста написать код программы, уже не знаю к кому обратиться
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.12.2011, 14:36     Перевод чисел из 10 сс в 8 сс на С++ #21
Цитата Сообщение от sparta4ok Посмотреть сообщение
Вводится m. Определить k - количество четных цифр в восьмеричной записи числа.
Т.е. даже переводить в восьмеричную не обязательно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2011, 00:10     Перевод чисел из 10 сс в 8 сс на С++
Еще ссылки по теме:

Перевод чисел из 10 СС в 2 СС C++
C++ Перевод отрицательных чисел в двоичную СС
C++ Перевод чисел
Перевод чисел из строки в массив чисел C++
C++ Перевод чисел из любой сс в 10-ую

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17311 / 5559 / 347
Регистрация: 30.03.2009
Сообщений: 15,127
Записей в блоге: 26
19.12.2011, 00:10     Перевод чисел из 10 сс в 8 сс на С++ #22
Цитата Сообщение от sparta4ok Посмотреть сообщение
а вообще вот постановка задачи:
<skip>
Понятно. Тогда действительно метод решения задачи тут не особенно важен, поскольку не говорится о том, что надо преобразовать, а говорится о том, что надо посчитать (т.е. пофиг, какими средствами преобразовывать). Тем более, что задача не столько на программирование, сколько на проектирование программы. Значит у нас в стране есть ещё один преподаватель, который пытается научить людей полезным практическим знаниям, а не решением искусственных теоретических задач

Добавлено через 3 минуты
Кстати, при таком раскладе я бы не стал изобретать велосипеды, а для преобразования в 8-ричную систему использовал бы sprintf:

C
1
2
3
4
5
6
7
8
9
10
void func (int val)
{
  char str[32];
 
  sprintf (str, "%o", val);
 
  /* В итоге в буфере str сформирована 8-ричная запись числа.
   * Далее обрабатываем этот строковой буфер */
  ...
}
Добавлено через 8 часов 2 минуты
Можно даже ещё проще. Нам не требуется перевод числа. Нам требуется только подсчёт. Поэтому число в 8-ричном представлении запоминать не надо. Нужно в цикле пройтись по разрядам 8-ричного представления и сразу же посчитать количество чётных

C
1
2
3
4
5
6
7
8
9
10
int func (int val)
{
  int count;
 
  for (count = 0; val != 0; val >>= 3)
    if ((val & 1) != 0)
      count++;
 
  return count;
}
Yandex
Объявления
19.12.2011, 00:10     Перевод чисел из 10 сс в 8 сс на С++
Ответ Создать тему
Опции темы

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