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

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

Войти
Регистрация
Восстановить пароль
 
Romahka
0 / 0 / 0
Регистрация: 21.09.2013
Сообщений: 31
#1

Разделить цифры, стоящие на нечётных местах на 3 - C++

14.12.2013, 15:32. Просмотров 744. Ответов 6
Метки нет (Все метки)

Дано число. Разделить цифры, стоящие на нечётных местах на 3. Если не делятся без остатка, то оставить без изменения.






помогите пожалуйста составить программу с++ пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2013, 15:32     Разделить цифры, стоящие на нечётных местах на 3
Посмотрите здесь:
C++ Разделить цифры десятичной записи числа стоящие на нечётных местах на 3
C++ Поменять местами цифры числа, стоящие на чётных и нечётных местах
C++ Разделить цифры стоящие на нечетных местах
C++ Дана последовательность расположить её положительные элементы стоящие на нечётных местах по возрастанию
Поменять местами соседние элементы массива, стоящие на чётных местах, с элементами, стоящими на нечётных места C++
Дано предложение. Удалить из него все буквы "о", стоящие на нечётных местах C++
Сортировка массива: отдельно элементы, стоящие на четных местах и элементы, стоящие на нечетных местах C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257
14.12.2013, 15:35     Разделить цифры, стоящие на нечётных местах на 3 #2
а что с этими числами потом делать?
Romahka
0 / 0 / 0
Регистрация: 21.09.2013
Сообщений: 31
14.12.2013, 15:54  [ТС]     Разделить цифры, стоящие на нечётных местах на 3 #3
Если не делятся без остатка, то оставить без изменения.
nexen
14.12.2013, 15:58
  #4

Не по теме:


Цитата Сообщение от Romahka Посмотреть сообщение
Дано число. Разделить цифры, стоящие на нечётных местах на 3. Если не делятся без остатка, то оставить без изменения.
Цитата Сообщение от Romahka Посмотреть сообщение
Если не делятся без остатка, то оставить без изменения.
Romahka, да ладно? О_О_О

Xfaider
11 / 11 / 1
Регистрация: 27.10.2012
Сообщений: 26
14.12.2013, 16:05     Разделить цифры, стоящие на нечётных местах на 3 #5
Считать число можно в строку, так будет проще работать с ним, да и вообще тогда ограничений на его размер в принципе не будет. А дальше уже пробегать по строке и делать то, что необходимо.
В чем проблема?
-=ЮрА=-
Заблокирован
Автор FAQ
14.12.2013, 17:11     Разделить цифры, стоящие на нечётных местах на 3 #6
Цитата Сообщение от Romahka Посмотреть сообщение
Дано число. Разделить цифры, стоящие на нечётных местах на 3. Если не делятся без остатка, то оставить без изменения.
- лови
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
#include <iostream>
using namespace std;
 
int DivNumOnThree(int num);
 
int main()
{
    int i, n = 0;
    int numarray[] = {673, 12353, 258, 323, 34, 5};//ГЊГ*Г±Г±ГЁГў ÷èñëå äëÿ ïðèìåðГ*
    n = sizeof(numarray) / sizeof(numarray[0]);//ÓçГ*Г*ВёГ¬ Г°Г*çìåð Г¬Г*Г±Г±ГЁГўГ*
    for( i = 0; i < n; i++ )
        cout<<"NUM : "<<numarray[i]<<" DIV3 : "<<DivNumOnThree(numarray[i])<<endl;
    cin.get();
    return 0;
}
 
int DivNumOnThree(int num)
{
    int i, n = 0;
    int numdigits[10];//ГЎГіГґГґГҐГ° äëÿ Г°Г*çðÿäîâ
    //Г‡Г*ïèñûâГ*ГҐГ¬ Г°Г*çðÿäû Г·ГЁГ±Г«Г* Гў ГЎГіГґГґГҐГ°
    numdigits[n] = num % 10;
    for( n = 1, num /= 10; num / 10; n++, num /= 10 )
        numdigits[n] = num % 10 ;
    numdigits[n] = num % 10;
    for( i = 0; i <= n; i++)
    {
        if( i % 2 || i == 0 )//Г*ГҐГ·ВёГІГ*ûå ïîçèöèè
        if( numdigits[i] %  3 == 0 )
            numdigits[i] /= 3;
    }
    for( i = 0, num /= 10; i < n; i++, num *= 10)
        num += numdigits[n - i];
    num += numdigits[n - i];
    return num;
}
Проверка http://codepad.org/8Jvn0qn1

Output:
NUM : 673 DIV3 : 671
NUM : 12353 DIV3 : 12351
NUM : 258 DIV3 : 258
NUM : 323 DIV3 : 321
NUM : 34 DIV3 : 14
NUM : 5 DIV3 : 5
Миниатюры
Разделить цифры, стоящие на нечётных местах на 3  
-=ЮрА=-
14.12.2013, 17:13     Разделить цифры, стоящие на нечётных местах на 3
  #7

Не по теме:

Цитата Сообщение от Xfaider Посмотреть сообщение
Считать число можно в строку, так будет проще работать с ним, да и вообще тогда ограничений на его размер в принципе не будет. А дальше уже пробегать по строке и делать то, что необходимо.
В чем проблема?
- проблема в том что это по меньшей мере нерационально.

Yandex
Объявления
14.12.2013, 17:13     Разделить цифры, стоящие на нечётных местах на 3
Ответ Создать тему
Опции темы

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