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

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

Войти
Регистрация
Восстановить пароль
 
Bakinowski Wlad
1 / 1 / 0
Регистрация: 08.10.2013
Сообщений: 155
#1

Переделать функцию с помощью шаблонов - C++

24.03.2014, 16:05. Просмотров 248. Ответов 6
Метки нет (Все метки)

оформить в виде шаблона функции,использующие эти шаблоны для типов int, float, double.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "stdafx.h"
#include <stdio.h>   
#include <conio.h>   
#include <math.h>   
  
void dvoich(int num) {
    int mod;
    long c = 0, p=1;
    while (num > 0) {
        mod = num % 2;
        num = (num - mod) / 2;
        c += mod * p;
        p *= 10;
    }
    printf("\nDvoichnoe chislo: %ld", c);
}  
void main()   
{
    int a;  
    printf("Vvedite desyatichnoe chislo:");  
    scanf("%d",&a);  
     dvoich(a);  
    getch();  
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2014, 16:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переделать функцию с помощью шаблонов (C++):

Реализовать структуру для хранения массива произвольного типа с помощью шаблонов - C++
Помогите пожалуйста, как реализовать структуру?? Сегодня вам нужно реализовать структуру для хранения массива произвольного типа с ...

Функции для ввода/вывода массивов и матриц с помощью шаблонов и перегрузки - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; template&lt;class T&gt; int mass(T mas, T iSize = sizeof(mas) /...

Указатель на функцию из семейства шаблонов - C++
#include &lt;iostream&gt; template &lt;class T1, class T2, class T3&gt; T3 f(T1 x, T2 y) { T3 x; return x; }

Переделать программу с помощью функций - C++
#include &lt;iostream&gt; #include&lt;fstream&gt; using namespace std; int main() { ifstream f1; f1.open(&quot;dvymernyi_massiv.txt&quot;); if(!f1)...

Переделать код с помощью шаблонных функций - C++
нужно переделать этот кд и написать с помощью шаблон функций (template) . помогите пожалуйста #include &quot;stdafx.h&quot; #include...

Переделать программу работы с базой заказчиков с помощью двусвязного списка - C++
Задача сделана при помощи структур... Необходимо реализовать её при помощи Двусвязного списка на конец... Помогите пожалуйста,...

6
SatanaXIII
Супер-модератор
Эксперт С++
5638 / 2673 / 252
Регистрация: 01.11.2011
Сообщений: 6,571
Завершенные тесты: 1
24.03.2014, 16:17 #2
Bakinowski Wlad, самое интересное это как вы себе представляете перевод дробного числа в двоичное представление?
Очень много возни.
0
Bakinowski Wlad
1 / 1 / 0
Регистрация: 08.10.2013
Сообщений: 155
24.03.2014, 16:48  [ТС] #3
SatanaXIII, я не виноват, такое задание, которое не могу сделать!

Добавлено через 26 минут
ни у кого нет мыслей как сделать?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
24.03.2014, 16:58 #4
Цитата Сообщение от Bakinowski Wlad Посмотреть сообщение
ни у кого нет мыслей как сделать?
ну для целых так же как и у Вас, для вещественных придется писать отдельную специализацию.


Двоичное представление объекта в памяти
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <string>
#include <climits>
 
template < typename T >
std::string foo ( const T & obj )
{
   const char * pObject = reinterpret_cast < const char * > ( &obj ) ;
   const char * pObjectEnd = pObject + sizeof ( obj ) ;
   std::string result ;
   for ( ; pObject != pObjectEnd ; ++pObject ) {
      for ( int shift = 0 , shiftEnd = CHAR_BIT ; shift != shiftEnd ; ++shift ) {
         result.push_back ( ( ( *pObject >> ( shiftEnd - shift - 1 ) ) & 1 ) ? '1' : '0' ) ;
      }
   }
   return result ;
}
 
 
class A {
   int x ;
   int f ;
public:
   A ( ) : x ( -1 ) , f ( 0 ) {
   }
} ;
 
 
int main()
{
    int a = 254 ;
    short int b = 256 ;
    double x = 44.65 ;
    std::cout << foo ( a ) << std::endl ;
    std::cout << foo ( b ) << std::endl ;
    std::cout << foo ( x ) << std::endl ;
    std::cout << foo ( A() ) << std::endl ;
}
2
Bakinowski Wlad
1 / 1 / 0
Регистрация: 08.10.2013
Сообщений: 155
24.03.2014, 17:00  [ТС] #5
Croessmah, можете вкратце рассказать, как для вещественных?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
24.03.2014, 17:04 #6
Лекция. Представление вещественных чисел
1
Bakinowski Wlad
1 / 1 / 0
Регистрация: 08.10.2013
Сообщений: 155
24.03.2014, 17:08  [ТС] #7
Croessmah, спасибо!
0
24.03.2014, 17:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2014, 17:08
Привет! Вот еще темы с ответами:

Переделать код так, чтобы использовались диапазоны значений с помощью указателей - C++
Мне уже стыдно сюда писать ей богу :wall: . Но есть задача переделать Код№1 так чтобы использовались диапазоны значений с помощью...

Переделать процедуру в функцию - C++
Доброго времени суток! Выполнил условие программы, но оформлена она должна быть в виде функции, но я никак не могу вернуть результат для...

Нужно переделать функцию С++ - C++
Нужно переделать функцию, ну или решить через рекурсию. Задача состоит в том, что надо вывести все возможные индексы массива Рекурсией. я...

Необходимо переделать функцию - C++
Подскажите, пожалуйста, весь инет обгуглил, подобного не нашёл. Есть такой код - #include &lt;iostream&gt; #include &lt;cstdlib&gt; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.