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

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

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

Author24 — интернет-сервис помощи студентам
Дано число. Разделить каждую цифру числа не его порядковый номер.
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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2016, 23:14
Ответы с готовыми решениями:

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

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

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

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

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

Цитата Сообщение от СветланаХ Посмотреть сообщение
cout<<"Ответ "<<f;
Какой ещё ответ? В условии задачи не сказано выводить ответ. Без ТЗ результат ХЗ.
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
29.10.2016, 23:20 3
СветланаХ, На чей порядковый номер? Числа или цифры в числе? И куда результат этого деления девать? Пример приведи.
1
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 23
29.10.2016, 23:45  [ТС] 4
В задании надо напечатать ответ. Например: дано число 4757. его на поделить на 1234
0
Любитель чаепитий
3742 / 1798 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
29.10.2016, 23:54 5
Цитата Сообщение от СветланаХ Посмотреть сообщение
Например: дано число 4757. его на поделить на 1234
Так цифру на цифру делить или число на число?
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
30.10.2016, 00:08 6
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
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
30.10.2016, 00:34 7
СветланаХ, вам это нужно?

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
Модератор
Эксперт по электронике
8910 / 6679 / 918
Регистрация: 14.02.2011
Сообщений: 23,530
30.10.2016, 00:52 8
СветланаХ, в скобках разберись
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
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
30.10.2016, 01:02 9
ValeryS, ну там вообще ахинейка написана-то. Анализировать его и искать ошибки нет смысла. Но смысл кода в том, что девочка показывает, как она старается. И чтоб видно было, что она - совсем начинающая. Ну и нас настраивает соответственно.
Но вот я по ее коду вижу, что main она писать умеет. Переменные декларирует. cin-cout ей тоже знакомы. Поэтому смело пишу псевдокод.
0
0 / 0 / 0
Регистрация: 29.10.2016
Сообщений: 23
30.10.2016, 11:20  [ТС] 10
Я сама понимаю, что у меня там написан бред. Изучать начала совсем недавно. Во многом еще не разбираюсь. И многого не понимаю..
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
30.10.2016, 11:30 11
Цитата Сообщение от СветланаХ Посмотреть сообщение
И многого не понимаю..
Цитата Сообщение от СветланаХ Посмотреть сообщение
Я сама понимаю, что у меня там написан бред
Ну, значит, уже кой-чего понимаешь...
Да все нормально.Все мы начинали, и начинали тоже с бреда.
Посему не надо своего бреда стесняться. Ведь он помогает нам понять, чего ты не понимаешь. И принять соответствующие меры.
Так что - смело вперед. И удачи!

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

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
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
30.10.2016, 11:37 13
DrPetr, ваш код, имхо, будет печатать с последней цифры...
0
Комп_Оратор)
Эксперт по математике/физике
8950 / 4704 / 629
Регистрация: 04.12.2011
Сообщений: 14,001
Записей в блоге: 16
30.10.2016, 11:50 14
Цитата Сообщение от СветланаХ Посмотреть сообщение
Я сама понимаю, что у меня там написан бред.
Изучать начала совсем недавно. Во многом еще не разбираюсь. И многого не понимаю..
Фраза звучит отрывисто и непонятно:
Цитата Сообщение от СветланаХ Посмотреть сообщение
у меня там написан бред
там это где?
В условии или в коде?
Цитата Сообщение от СветланаХ Посмотреть сообщение
Изучать начала совсем недавно.
Русский язык или c++?
Давайте начнём с условия. СветланаХ, поймите, я не придираюсь, но тут уже звучало недоумение участников, а Вы не реагируете. Вот текст:
Цитата Сообщение от СветланаХ Посмотреть сообщение
Дано число. Разделить каждую цифру числа не его порядковый номер.
Порядковый номер кого? Его это числа ведь. А оно же одно? Может:
Цитата Сообщение от СветланаХ Посмотреть сообщение
... Разделить каждый цифр числа не его порядковый номер.
или
Цитата Сообщение от СветланаХ Посмотреть сообщение
...Разделить каждую цифру числа не её порядковый номер.
и понимая, что возможно два варианта целочисленного деления и плюс один (два) плавающий, добавить, - "нацело". Ну и закончить как-то вроде того что: - "...а саму цифру заменить результатом и напечатать полученное число."
Я это пишу только затем, чтобы Вы подтвердили правильность перечисленных догадок. Иначе всё неправильно получится.
Следуя логике если нацело делить то первая цифра никогда не изменится а остальные не смогут превысить четвёрки. А если номер разряда превышает число пять, то всегда один будет получаться.
А вот если нужен остаток, то всё значительно красочное будет. Так как надо всё-таки?
0
GbaLog-
30.10.2016, 11:55
  #15

Не по теме:

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

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

Не по теме:

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

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

Решение

В задаче не сказано с какой цифры нужно печатать.
Можно и перевернуть:
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
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
30.10.2016, 15:17 18
Цитата Сообщение от DrPetr Посмотреть сообщение
В задаче не сказано с какой цифры нужно печатать.
Так если вас попросят напечатать 7! вы напечатаете 0405 ?
А может быть еще и пирамидкой с середины?
1
3 / 3 / 4
Регистрация: 29.10.2016
Сообщений: 18
30.10.2016, 15:34 19
Я ещё раз повторяю, в задаче не сказано с какого числа писать нужно. И не сказано как это оформить. Даже и пирамидой будет правильное решение. В задаче даже не сказано выводить результаты деления. Но это необходимо для данного примера
0
Байт
30.10.2016, 15:37     Разделить каждую цифру заданного числа на его порядковый номер
  #20

Не по теме:

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

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2016, 15:37

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

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

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

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

Найти наибольший элемент, имеющий в своем составе цифру 3, и его порядковый номер
Задание: найти наибольший элемент и его порядковый номер имеющий в своем составе цифру 3. Вот мой...

Найти наибольший элемент, имеющий в своем составе цифру 3, и его порядковый номер
Задание: найти наибольший элемент и его порядковый номер имеющий в своем составе цифру 3. Вот мой...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru