Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ одновимерни массивы и сложный поиск http://www.cyberforum.ru/cpp-beginners/thread409922.html
помогите пажалуста я не могу понять как создать и вывести масив Ук=fabs(sin(x/3.12)+cos(pow(x,2)))-8.3*sin(3*x) с элементами к = 1,2...,7. Добавлено через 12 минут #include<iostream.h>...
C++ Реализовать программу, которая находит все натуральные n-значные числа,цифры в которых образуют строго возрастающую последовательность(1234,2378,5789) #include <iostream> #include <cmath> #include <conio.h> using namespace std; void swp(int &i, int &f) { int c1, c2,c3, n, f;// - тут ошибка!!! c1=1; for (i=1; i<=n-1; i++) c1=c1*10; http://www.cyberforum.ru/cpp-beginners/thread409916.html
Получить из файла BMP матрицу значений пикселов C++
уважаемые программисты никак не могу справиться со следующей задачей. мне необходимо получить из bmp файла значение его пикселов в виде матрицы. в классе Bitmap есть функция Getpixel но она получает...
Ошибка в коде. Кроссворд C++
Программа Кроссворд Выдает ошибки Error 1 error C3861: 'sort': identifier not found Error 2 error C3861: 'equal_range': identifier not found как исправить? Где и какой тип придать переменным? ...
C++ Префикс-функция http://www.cyberforum.ru/cpp-beginners/thread409883.html
Возникла ситуация: где бы я не читал разбор, немного непотно, как работает префикс-функция? Объясните, а что не пойму, попрошу изложить детальнее. vector<int> compute_prefix_function(const...
C++ не работает getline Есть код (писал не я), но не могу понять, почему getline() игнорируется в строке 72. Сначала не работало в функции класса, потом решил сделать так, как в этом коде, но без толку... #include... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18377 / 6424 / 441
Регистрация: 30.03.2009
Сообщений: 17,815
Записей в блоге: 28
19.12.2011, 00:10
Цитата Сообщение от 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;
}
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.