C++

0
C++
11.12.2015 9:38
2635
9
11.12.2015 9:38
2635

Кто их программистов может помочь написать задачу на C++ :

Дано число. Отбросить в нем все цифры, стоящие левее самой правой единицы.

Кто первый напишет, код правильный, тому 10 усд скину на пс или на Нетеллер.

Спасибо

Все комментарии - 9

    11.12.2015 15:49
    0

    ну как то так, писал в спешке, оптимируй сам если нужно

     

    #include <iostream>
    #include <cstdlib>
    #include <string>
    #include <math.h>
    #include <stdlib.h>

    using namespace std;

    int main()
    {

    int i;
    int n;
    int c;
    int z = 1;
    int res;

    cout << «Please enter an integer value: «;
    cin >> i;
    c = i;

    while (c > 9)
    {
    n = fmod(c, 10);
    c = c / 10;
    z*= 10;
    if (n == 1)
    {
    res = i — c*z;
    break;
    }
    }

    cout << res << endl;
    system(«pause»);
    return 0;
    }

    11.12.2015 15:20
    0

    Sanchez:Результат то будет тот же, что по твоему, что по моему )

     Мне просто нужен имено такой код , по которому написал я .

    11.12.2015 15:11
    0

    Результат то будет тот же, что по твоему, что по моему )

    11.12.2015 15:04
    0

    Надо по другому. Вводишь в консоле число к прмеру 54132 программа прогоняет его так : делит число 54132 на 10 видит остаток 2 не является 1 ,следовательно дальше гонит уже число 5413 делит его на 10 остаток 3 не является 1  , 541 на 10 остаток 1 = 1 программа выводит 132.

    Без библиотек  просто do while if else

    11.12.2015 14:28
    0

    Вот проверил, держи

    #include <iostream>
    #include <cstdlib>
    #include <string>
    using namespace std;

    int main()
    {
    string str=»88819991177111222″;

    str = str.substr(str.find_last_of(«1»));
    cout << str << endl;
    system(«pause»);
    return 0;
    }

    Вариант выше, включает в себя самую правую еденицу, если надо без нее, делай так:

    #include <iostream>
    #include <cstdlib>
    #include <string>
    using namespace std;

    int main()
    {
    string str=»88819991177111222″;

    str = str.substr(str.find_last_of(«1»)+1);
    cout << str << endl;
    system(«pause»);
    return 0;
    }

    PPL
    11.12.2015 13:45
    3

    Хренасе программисты зарабатывают за пару минут!

    11.12.2015 13:03
    0

    CString s;
    s.formatAppend(«%u», numVar);
    s.substring(s.lastIndexOf(«1»));

    как то так, проверить не на чем в данный момент

    11.12.2015 12:20
    0

    najs:Конвертишь в символьный массив, дальше фором проходишь по нему пока не найдешь единицу, дальше конвертишь часть массива начиная от единицы обратно в интеджер. Что сложного не могу понять?

     Без массива надо, просто в цикле. Задача легкая. Просто не знаю как её записать правильно по синтексесу с++

    11.12.2015 12:11
    0

    Конвертишь в символьный массив, дальше фором проходишь по нему пока не найдешь единицу, дальше конвертишь часть массива начиная от единицы обратно в интеджер.

    Что сложного не могу понять?

Добавить комментарий