Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 23

Разделить каждую цифру заданного числа на его порядковый номер

29.10.2016, 23:14. Показов 2751. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано число. Разделить каждую цифру числа не его порядковый номер.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <math.h>
using namespace std;
int main (){
    int i, n, f;
    cout<<"ведите число\n";
        cin>>i; 
    }
    for(i=1; i<=n; i++ );
    {
        f= n/i;
    }
    cout<<"Ответ "<<f;
    cin.get();
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2016, 23:14
Ответы с готовыми решениями:

Дано число. Разделить каждую цифру числа на его порядковый номер
Как записать именно деление каждого числа на порядковые номера. могут быть ведь как, например, 111, так и 18473457645874... #include...

Разделить каждую цифру десятичной записи этого числа на его порядковый номер. Полученное число напечатать
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;windows.h&gt; using namespace std; double k, newd, numDig,...

Разделить каждую цифру числа на ее порядковый номер
Уважаемые, подскажите, пожалуйста. Плюсы только начал изучать, всё с нуля. Суть задачи: Дано число. Разделить каждую цифру числа на его...

25
4 / 4 / 5
Регистрация: 19.08.2016
Сообщений: 137
29.10.2016, 23:18
Цитата Сообщение от СветланаХ Посмотреть сообщение
cin>>i;
Попробуйте cin >> n;

Цитата Сообщение от СветланаХ Посмотреть сообщение
cout<<"Ответ "<<f;
Какой ещё ответ? В условии задачи не сказано выводить ответ. Без ТЗ результат ХЗ.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
29.10.2016, 23:20
СветланаХ, На чей порядковый номер? Числа или цифры в числе? И куда результат этого деления девать? Пример приведи.
1
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 23
29.10.2016, 23:45  [ТС]
В задании надо напечатать ответ. Например: дано число 4757. его на поделить на 1234
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
29.10.2016, 23:54
Цитата Сообщение от СветланаХ Посмотреть сообщение
Например: дано число 4757. его на поделить на 1234
Так цифру на цифру делить или число на число?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
30.10.2016, 00:08
C++
1
2
3
4
5
6
7
8
9
10
11
12
p = 1;
for(p=1; p<n; p*=10)
;
if (p > n) p /= 10;
f = 0;
for(i=1; n; i++) {
 c = n/p;
 f = 10*f + c/i;
 p /= 10;
 n -= c*p;
}
cout << f;
Добавлено через 1 минуту
Цитата Сообщение от GbaLog- Посмотреть сообщение
Так цифру на цифру делить или число на число?
Ну, уже можно догадаться
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
30.10.2016, 00:34
СветланаХ, вам это нужно?

http://rextester.com/NCY48392

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
39
40
41
42
43
44
45
46
47
// Дано число. Разделить каждую цифру числа не его порядковый номер.
// Например: дано число 4757. его на поделить на 1234
 
#include <iostream>
 
size_t digits(int value)
{
    size_t result = 1;
    
    while( value /=10 )
        ++result;
    
    return result;
}
 
size_t custom_divider(const size_t numberOfDigits)
{
    size_t mult = 1;
    for(size_t i = 1; i < numberOfDigits; ++i)
        mult *= 10;
    
    size_t result = 0;    
    for(size_t i = 0; i < numberOfDigits; ++i, mult /=10)
        result += mult * (i + 1);
        
    return result;
}
 
int main()
{
    std::cout << "Hello, world!\n";
    
    const int value = 4757;
    
    const size_t countDigits   = digits(value);
    const size_t customDivider = custom_divider(countDigits);
    const double result        = custom_division(value);
 
    std::cout << "количество цифр в числе " 
        << value << " = " << countDigits << '\n';
    
    std::cout << "делитель числа " << value << " = " 
        << customDivider << '\n';
        
    std::cout << value << " / " << customDivider << " = " << result << '\n';
        
}
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
30.10.2016, 00:52
СветланаХ, в скобках разберись
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <math.h>
using namespace std;
int main (){
    int i, n, f;
    cout<<"ведите число\n";
        cin>>i; 
    }// вот здесь функция main  закончилась
// все что ниже не будет выполнятся и компилятор посчитает ошибкой
    for(i=1; i<=n; i++ );
    {
        f= n/i;
    }
    cout<<"Ответ "<<f;
    cin.get();
    return 0;
}// эта скобка к чему относится?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
30.10.2016, 01:02
ValeryS, ну там вообще ахинейка написана-то. Анализировать его и искать ошибки нет смысла. Но смысл кода в том, что девочка показывает, как она старается. И чтоб видно было, что она - совсем начинающая. Ну и нас настраивает соответственно.
Но вот я по ее коду вижу, что main она писать умеет. Переменные декларирует. cin-cout ей тоже знакомы. Поэтому смело пишу псевдокод.
0
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 23
30.10.2016, 11:20  [ТС]
Я сама понимаю, что у меня там написан бред. Изучать начала совсем недавно. Во многом еще не разбираюсь. И многого не понимаю..
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
30.10.2016, 11:30
Цитата Сообщение от СветланаХ Посмотреть сообщение
И многого не понимаю..
Цитата Сообщение от СветланаХ Посмотреть сообщение
Я сама понимаю, что у меня там написан бред
Ну, значит, уже кой-чего понимаешь...
Да все нормально.Все мы начинали, и начинали тоже с бреда.
Посему не надо своего бреда стесняться. Ведь он помогает нам понять, чего ты не понимаешь. И принять соответствующие меры.
Так что - смело вперед. И удачи!

Добавлено через 3 минуты
ЗЫ. Тут могут и посмеяться. Ведь программистов хлебом не корми - дай позубоскалить. Не бери в голову. Относись с юмором. Ведь многие из тех, кто сейчас летает, подзабыли время, когда еле ползали.
2
3 / 3 / 4
Регистрация: 29.10.2016
Сообщений: 18
30.10.2016, 11:31
Пожалуйста

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
#include <iostream>
 
using namespace std;
 
int main() {
    setlocale( 0, "rus" );
    int num;
    cout << "Введите число" << endl;
    cin >> num;
 
    int len = 0;
    int temp = num;
    while ( temp ) {
        temp /= 10;
        len++;
    }
 
    for( int i = len; num; i-- ) {
        float f;
        f = ( float )( num % 10 ) / i;
        cout << num % 10 << " / " << i << " = " << f << endl;
        num /= 10;
    }
    
    cin.get();
    cin.get();
    return 0;
}
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
30.10.2016, 11:37
DrPetr, ваш код, имхо, будет печатать с последней цифры...
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
30.10.2016, 11:50
Цитата Сообщение от СветланаХ Посмотреть сообщение
Я сама понимаю, что у меня там написан бред.
Изучать начала совсем недавно. Во многом еще не разбираюсь. И многого не понимаю..
Фраза звучит отрывисто и непонятно:
Цитата Сообщение от СветланаХ Посмотреть сообщение
у меня там написан бред
там это где?
В условии или в коде?
Цитата Сообщение от СветланаХ Посмотреть сообщение
Изучать начала совсем недавно.
Русский язык или c++?
Давайте начнём с условия. СветланаХ, поймите, я не придираюсь, но тут уже звучало недоумение участников, а Вы не реагируете. Вот текст:
Цитата Сообщение от СветланаХ Посмотреть сообщение
Дано число. Разделить каждую цифру числа не его порядковый номер.
Порядковый номер кого? Его это числа ведь. А оно же одно? Может:
Цитата Сообщение от СветланаХ Посмотреть сообщение
... Разделить каждый цифр числа не его порядковый номер.
или
Цитата Сообщение от СветланаХ Посмотреть сообщение
...Разделить каждую цифру числа не её порядковый номер.
и понимая, что возможно два варианта целочисленного деления и плюс один (два) плавающий, добавить, - "нацело". Ну и закончить как-то вроде того что: - "...а саму цифру заменить результатом и напечатать полученное число."
Я это пишу только затем, чтобы Вы подтвердили правильность перечисленных догадок. Иначе всё неправильно получится.
Следуя логике если нацело делить то первая цифра никогда не изменится а остальные не смогут превысить четвёрки. А если номер разряда превышает число пять, то всегда один будет получаться.
А вот если нужен остаток, то всё значительно красочное будет. Так как надо всё-таки?
0
30.10.2016, 11:55

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Ведь многие из тех, кто сейчас летает, подзабыли время, когда еле ползали.
Как уж тут забудешь. :D
Консольный таймер
Условное подключение cpp файлов
Есть ли в массиве нужная буква <- вот это моя любимая :D
Хотя, я ещё и не летаю, а всего лишь пытаюсь ходить.

0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
30.10.2016, 12:04
Цитата Сообщение от IGPIGP Посмотреть сообщение
А если номер разряда превышает число пять, то всегда один будет получаться.
Не более 1 хотел написать. То есть 1 или ноль.

Не по теме:

Цитата Сообщение от GbaLog- Посмотреть сообщение
Как уж тут забудешь.
Забывается со временем. Это да. Байт, прав. :)

0
3 / 3 / 4
Регистрация: 29.10.2016
Сообщений: 18
30.10.2016, 13:44
Лучший ответ Сообщение было отмечено СветланаХ как решение

Решение

В задаче не сказано с какой цифры нужно печатать.
Можно и перевернуть:
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
#include <iostream>
 
using namespace std;
 
int main() {
    setlocale( 0, "rus" );
    int num;
    cout << "Введите число" << endl;
    cin >> num;
 
    int turnNum = 0;
    while ( num ) {
        turnNum = turnNum * 10 + num % 10;
        num /= 10;
    }
 
    for( int i = 1; turnNum; i++ ) {
        float f;
        f = ( float )( turnNum % 10 ) / i;
        cout << turnNum % 10 << " / " << i << " = " << f << endl;
        turnNum /= 10;
    }
    
    cin.get();
    cin.get();
    return 0;
}
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
30.10.2016, 15:17
Цитата Сообщение от DrPetr Посмотреть сообщение
В задаче не сказано с какой цифры нужно печатать.
Так если вас попросят напечатать 7! вы напечатаете 0405 ?
А может быть еще и пирамидкой с середины?
1
3 / 3 / 4
Регистрация: 29.10.2016
Сообщений: 18
30.10.2016, 15:34
Я ещё раз повторяю, в задаче не сказано с какого числа писать нужно. И не сказано как это оформить. Даже и пирамидой будет правильное решение. В задаче даже не сказано выводить результаты деления. Но это необходимо для данного примера
0
30.10.2016, 15:37

Не по теме:

DrPetr, Не стоит оправдывать высокими соображениями то, что вам было лень написать лишние 5 строчек. Глупо выглядит, поверьте.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.10.2016, 15:37
Помогаю со студенческими работами здесь

Дано число. Разделить каждую цифру десятичной записи этого числа на его порядковый номер. Полученное число нап
2.Дано число. Разделить каждую цифру десятичной записи этого числа на его порядковый номер. Полученное число напечатать. #include...

Сложить все цифры числа, умножая каждую цифру на ее порядковый номер
Здравствуйте. дан ряд чисел через пробел. нужно сложить все цифры числа, умножая каждую цифру на ее порядковый номер, т.е. 23 это 2*1 +...

Разделить каждую цифру числа на его порядковый номер
Дано число. Разделить каждую цифру числа на его порядковый номер. Полученное число напечатать.

Определить первый член последовательности, который больше заданного числа, и его порядковый номер
Последовательность задана формулой an=2n+1/(n+1). Определить первый член последовательности, который больше заданного числа х, и его...

Сосчитать сумму цифр,умножая каждую цифру на её порядковый номер (позицию) в числе
Например : 154 = 1*1 + 5*2 + 4*3 Я решила, но получился совершенный быдло код . я создаю 2 экземпляра переменных класса Chislo. С...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru