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

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

Войти
Регистрация
Восстановить пароль
 
kudpro
28 / 3 / 1
Регистрация: 12.05.2011
Сообщений: 60
#1

Описать процедуру AddLeftDigit(D, K), добавляющую к целому по- ложительному числу K слева цифру D - C++

26.11.2011, 02:34. Просмотров 978. Ответов 3
Метки нет (Все метки)

Описать процедуру AddLeftDigit(D, K), добавляющую к целому по-
ложительному числу K слева цифру D (D — входной параметр целого
типа, лежащий в диапазоне 1–9, K — параметр целого типа, являющийся
одновременно входным и выходным). С помощью этой процедуры после-
довательно добавить к данному числу K слева данные цифры D1 и D2,
выводя результат каждого добавления.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2011, 02:34     Описать процедуру AddLeftDigit(D, K), добавляющую к целому по- ложительному числу K слева цифру D
Посмотрите здесь:

C++ По заданному целому числу определить,является ли оно положительным,отрицательным или нулем.
C++ Найти элемент массива, значение которого наиболее близко к какому-нибудь целому числу
По введённому целому числу программа должна определить, сколько в нём десятичных цифр C++
Найти все трехзначные числа, сумма цифр которых равна данному целому числу C++
Найти в массиве порядковый номер наиболее близкого элемента к заданному целому числу Х C++
Перевод с С# на С++. Найти сумму элементов массива равную заданному целому числу C++
Найти все трехзначные числа, сумма цифр которых равна заданному целому числу C++
Описать функцию AddLeftDigit (D, K), что добавляет к целому положительному числу K слева цифру D C++
Добавить к целому положительному числу K справа цифру D C++
Описать процедуру AddRightDigit (D , К), добавляет к целого положительного числа К дело цифру D C++
C++ Найти в последовательности число, которое ближе всех к целому числу
По целому числу распечатать составляющие C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
26.11.2011, 02:47     Описать процедуру AddLeftDigit(D, K), добавляющую к целому по- ложительному числу K слева цифру D #2
признайтесь, эта задача не из высокоуровневого программирования. И боюсь что ее решение на языке Си будет не таким, какое должно быть в аспекте операционного устройства, т.к. сужен прямой доступ к аппаратной части эвм.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
26.11.2011, 03:02     Описать процедуру AddLeftDigit(D, K), добавляющую к целому по- ложительному числу K слева цифру D #3
Без проверки на переполнение, с большими числами будет неправильно работать.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <math.h>
 
unsigned addleft(unsigned x, unsigned y) {
    return x + y * (unsigned)pow(10.0, floor(log10(x)) + 1.0);
}
 
int main(void){
    unsigned x, y;
    
    while ( printf("X: ") > 0 && scanf("%u", &x) == 1 && printf("Y: ") > 0 && scanf("%u", &y) == 1 && y > 0 && y < 10 )
        printf("> %u\n", addleft(x, y));
    
    return 0;
}
Цитата Сообщение от kudpro Посмотреть сообщение
последовательно добавить к данному числу K слева данные цифры D1 и D2
ну и с этим сам как-нибудь...
xAtom
 Аватар для xAtom
911 / 736 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
26.11.2011, 11:51     Описать процедуру AddLeftDigit(D, K), добавляющую к целому по- ложительному числу K слева цифру D #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
size_t to_left(size_t d, size_t k) {
   size_t num;
   for(num = 1u; num < k; num *= 10u);
   return d * num + k;
}
 
int main(void)
{
   printf("%u\n", to_left(3u,  2u));
   printf("%u\n", to_left(5u,  12u));
   printf("%u\n", to_left(17u, 572u));
   getchar();
   return 0;
}
Yandex
Объявления
26.11.2011, 11:51     Описать процедуру AddLeftDigit(D, K), добавляющую к целому по- ложительному числу K слева цифру D
Ответ Создать тему
Опции темы

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