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

Убрать из целого десятичного числа старшие 4 цифры

20.04.2022, 14:57. Показов 745. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
т.е., если число =12045018 ,должно получиться 5018
почему то код работает не со всеми числами


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
#include <iostream>
using namespace std;
 
int main()
{
    int x;
    int x2;
    int counter = 0;
    cout << "Enter x: ";
    cin >> x;
    x2 = x;
    while (x % 10)
    {
        x /= 10;
        counter++;
    }
    x = 1;
    for (int i = 0; i < counter - 4; i++)
    {
        x *= 10;
    }
    x *= x2 / x;
 
    x2 -= x;
    cout << x2 << endl;
 
    return 0;
 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2022, 14:57
Ответы с готовыми решениями:

Отсортировать цифры десятичного представления целого числа
В файле записано число, нужно считать и вывестив другой файл найбольшое и найменьшое число, которое можно сложить из двнного, например 7051...

Убрать из десятичного числа четные цифры
программа на С++ убрать из чесла четные оставив нечетные ( сохранив порядок ) легая прога , но опомогите

Проверить, равны ли две старшие цифры числа?
Равны ли две старшие цифры числа?

14
 Аватар для programmer_08
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
20.04.2022, 15:04
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
#include <iostream>
using namespace std;
 
int main()
{
    long long int x;
    long long int x2;
    int counter = 0;
    cout << "Enter x: ";
    cin >> x;cin.get();
    x2 = x;
    while (x % 10)
    {
        x /= 10;
        counter++;
    }
    long long int res = 0;
    int c =1;
    for(int i = 0;i<counter-4;i++)
    {
        res+=x2%10*c;
        c*=10;
        x2/=10;
        
    }
 
    cout << res << endl;
 cin.get();
    return 0;
 
}
1
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
20.04.2022, 15:16
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main()
{
    int x, x2 = 0, i = 1;
    int counter = 0;
    cout << "Enter x: ";
    cin >> x;
    while (x / 10000)
    {
        x2 += x % 10 * i;
        i *= 10;
        x /= 10;
    }
    std::cout << x2  << "\n";
    return 0;
}
1
13 / 8 / 5
Регистрация: 14.04.2022
Сообщений: 63
20.04.2022, 15:20
Это
Цитата Сообщение от liamia Посмотреть сообщение
while (x % 10)
равносильно этому
C++
1
while (x % 10 != 0)
подумай на что исправить
1
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
20.04.2022, 15:33
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
using namespace std;
 
int main () {
      long long int x,d=0,p=1;
      int n;
 
      cin>>x;
      n=log10(x*1.)-3;
      if(n>0)
         while(n--)
            d+=x%10*p, p*=10, x/=10;
      cout<<d;
      return 0;
}
0
Модератор
Эксперт С++
 Аватар для zss
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,234
20.04.2022, 15:45
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string x;
    cout << "Enter x: ";
    cin >> x;
    cin.get();
    x.erase(x.begin(),x.begin()+4);
    cout << x << endl;
    cin.get();
    return 0;
 
}
0
13 / 8 / 5
Регистрация: 14.04.2022
Сообщений: 63
20.04.2022, 15:50
zss, а если введут "qwerty" ? По ТЗ целое число
0
 Аватар для programmer_08
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
20.04.2022, 15:51
Dmitriy-T, так если введу qwerty в инт, там тоже мало приятного будет
0
Модератор
Эксперт С++
 Аватар для zss
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,234
20.04.2022, 15:57
Цитата Сообщение от Dmitriy-T Посмотреть сообщение
если введут "qwerty" ?
Так со строкой даже лучше, не надо отслеживать ошибки ввода,
можно просто все лишнее убрать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string x,xres;
    cout << "Enter x: ";
    cin >> x;
    cin.get();
    int j=0;
    for(size_t i=0;i<x.size();++i)
        if(isdigit(x[i]))
        {
            if(j>=4)
                xres+=x[i];
            j++;
        }
    cout << xres << endl;
    cin.get();
    return 0;
 
};
0
13 / 8 / 5
Регистрация: 14.04.2022
Сообщений: 63
20.04.2022, 15:59
Цитата Сообщение от programmer_08 Посмотреть сообщение
Dmitriy-T, так если введу qwerty в инт, там тоже мало приятного будет
Хорошо, вводим "012345"
0
Модератор
Эксперт С++
 Аватар для zss
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,234
20.04.2022, 17:56
Dmitriy-T, проблема не в этом, а в том, что задача делается не для того, чтобы ее решить,
а для того, чтобы сдать.
Соответственно, предложенный мною вариант не прокатит.
Я такое решение привел просто для того, чтобы показать альтернативный подход.
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
20.04.2022, 18:07
liamia,
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
int main()
{
    long long x;
    std::cout << "x = "; std::cin >> x;
    long long x2 = x % 10000;
    std::cout << x2;
    return 0;
}
0
Модератор
Эксперт С++
 Аватар для zss
13766 / 10960 / 6490
Регистрация: 18.12.2011
Сообщений: 29,234
20.04.2022, 18:36
Volga_, не факт, что число будет 8 разрядное, поэтому x % 10000 не подойдет.
1
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
20.04.2022, 20:33
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <cmath>
using namespace std;
 
int main() {
    long long int x;
 
    cin >> x;
    cout << x%(int)pow(10,(int)(log10(x*1.) - 3));
    return 0;
}
1
13 / 8 / 5
Регистрация: 14.04.2022
Сообщений: 63
20.04.2022, 20:39
Цитата Сообщение от zss Посмотреть сообщение
Dmitriy-T, проблема не в этом, а в том, что задача делается не для того, чтобы ее решить,
а для того, чтобы сдать.
Соответственно, предложенный мною вариант не прокатит.
Я такое решение привел просто для того, чтобы показать альтернативный подход.
Оно почти решено, иногда работает, человек в одной строке ошибся, я указал где ошибка, а вы тут флуд устроили.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.04.2022, 20:39
Помогаю со студенческими работами здесь

выделение целого числа из десятичного
В базе координаты лежат в десятичной системе (например 48,7786583333333) нужно перевести в градусы минуты секунды и записать в edit....

Переставьте местами цифры десятичного числа так, чтобы сначала оказались цифры, меньшие пяти
Решить не используя массив! Дано четырехзначное число. Переставьте местами цифры так, чтобы сначала оказались цифры, меньшие пяти.

перевод целого десятичного числа в двоичное
Написать програму перевода любого целого десятичного числа в двоичное зарание спасиба

Перевод десятичного целого числа в K-ичное
Разработать процедуру перевода десятичного целого числа в K-ичное, используя ее напечатать таблицы умножения для 8-ричной и 4-ричной систем...

Перевод целого десятичного числа p-ичную сс (p<10)
Помогите пожалуйста написать перевод целого десятичного числа в р-ичную систему счисления (р&lt;10) с применением рекурсии и без неё, с...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru