Deepak Kumar Choudhary Ответов: 3

Как мне найти число в десятках? Или сотое место с помощью программы C++?


// Main function of the C++ program.

#include <iostream>
using namespace std;

int main()
    {
        int x,op,tp;
        cout<<"Enter a number"<<endl;
        cin>>x;
        op=x%10;
        cout<<"the value in the once place is:"<<op<<endl;
        tp=x/10;
        cout<<"The value in the tens place is:"<<tp<<endl;
        return 0;
    }


Что я уже пробовал:

То, что я собираюсь сделать, - это обобщить программу так, чтобы она печатала не только числа в единицах и десятом месте в двухзначном числе, но и любые другие.

Например,
вывод: введите любое число с каким-либо количеством цифр;
вход:x;
логика: // выведите числа в один раз, десятки, сотые, тысячные места и так далее, то есть если число = 4567, то выведите = число в тысячном месте =4, число в сотом месте =5, число в десятом месте = 6 и число в одном месте= 7.

Каким должен быть код? Как должен идти код. Пожалуйста, объясните идею и логику?

Kornfeld Eliyahu Peter

Даже если вы "новичок начального уровня", было бы гораздо лучше, если бы вы поделились своим нерабочим кодом...

Deepak Kumar Choudhary

Мое извинение. Я просто расширил свой вопрос и уточнил, что мне нужно. С нетерпением жду вашего ответа.
Спасибо.

Patrice T

Каков бы ни был ваш уровень знаний в программировании, имейте в виду, что мы не знаем, о чем вы говорите, мы не находимся в вашей голове, мы не видим ваш экран.
Когда вы задаете вопрос:
-Объясните, что вы пытаетесь сделать. совершенствуйтесь до тех пор, пока вы не сможете понять, не используя свои невыразимые знания о проблеме.
- Показать пример ввода с ожидаемым выходом и фактическим выходом.
- Покажите свой код и объяснение проблемы.

Deepak Kumar Choudhary

Приношу свои извинения за неясность. Этот вопрос был моим вторым вопросом за все время. Итак, я попытался расширить и прояснить этот вопрос. Я с нетерпением жду ответа.
Спасибо.

Deepak Kumar Choudhary

Попробовав некоторое время, я получил это решение. Это действительно много значило бы, если бы вы могли помочь мне с печатью десятизначной цифры, одной тысячной цифры. Спасибо.
#include <iostream>
использование пространства имен std;

тап_п()
{
int x;
int count=1;
cout<<"введите номер";
cin>>x;
а(х&ГТ;0)
{
соиь<&ЛТ;сделан вывод(счет)&ЛТ;&ЛТ;"е место" &ЛТ;&ЛТ; х % 10;
x=x%10;
count=count/10;
}
}

Muhammad Haris Salman

что подразумевается под этим условием (x>0) ?

3 Ответов

Рейтинг:
2

OriginalGriff

Еще раз, перестаньте гадать и подумайте.
Используйте свое решение для вашего другого вопроса сегодня утром: Как найти длину вопроса в C++?[^] и совместить его с этим кодом. Это же совершенно очевидно!


Deepak Kumar Choudhary

Я попробовал еще раз.
// Основная функция программы на языке C++.

#include <iostream>
использование пространства имен std;

тап_п()
{
int x=0,op,tp,hp;
int xlen=1;
cout<<"введите число"<<endl;
cin>>x;
делать
{
x=x/10;
xlen++;
}
а(х!=0);
соиь<&ЛТ;"длина номер="&ЛТ;&ЛТ;xlen на<<епси;
переключатель(xlen)
{
корпус 1:
op=x%10;
cout<<"значение в одном месте равно:"<<op<<endl;
перерыв;
случай 2:
op=x%10;
cout<<"значение в одном месте равно:"<<op<<endl;
tp=x/10;
соиь<&ЛТ;"значение на единичном месте является:"&ЛТ;&ЛТ;ТП&ЛТ;<епси;
перерыв;
случай 3:
op=x%10;
cout<<"значение в одном месте равно:"<<op<<endl;
tp=x/10;
соиь<&ЛТ;"значение на единичном месте является:"&ЛТ;&ЛТ;ТП&ЛТ;<епси;
hp=x/100;
cout<<"значение на сотом месте равно:"<<hp<<endl;
перерыв;
по умолчанию: cout<<"попробуйте еще раз";



}




возвращает 0;
}

Я не умею обобщать. Пожалуйста, помогите!

Graeme_Grant

Вы установили точку останова и прошли через нее с помощью отладчика, чтобы точно увидеть, что делает ваш код?

Рейтинг:
2

Graeme_Grant

Я не программирую на C++, однако логика остается той же самой на любом языке. Вот довольно недавняя задача кодирования, которая использует стратегию, которая соответствует вашим требованиям в вашем вопросе и должна указать вам правильное направление:

Задача кодирования: преобразование целого числа в предложение.[^]

** ОБНОВЛЕНИЕ:

Вот быстрое решение на языке C# :

static void Main(string[] args)
{
    Console.Write("Input: ");
    string input = Console.ReadLine();
    for (int i = input.Length - 1; i >= 0; i--)
    {
        double digitPosition = Math.Pow(10, i); // 10^i
        Console.WriteLine($"{digitPosition} = {input.Substring(input.Length - i - 1, 1)}");
    }
    Console.ReadKey();
}

Который выводит:
Input: 4567
1000 = 4
100 = 5
10 = 6
1 = 7

Должно быть довольно легко конвертировать в C++


Рейтинг:
0

Member 13719664

//Program to find once tenth hundredth thousandth of a 4dig num
#include <iostream>
using namespace std;
int main()
{
int dig;
cout << "enter a four dig num " << endl;
cin >> dig ;
int git;
git = (dig % 10);
cout << "num in once place is: " << git << endl;
int one;
one = git;
git = (dig % 100);
cout << "num in tenth place: " << (git - one) / 10 << endl;
git = (dig % 1000);
cout << "num in hundredth:" << (git - one) / 100 << endl;
git = (dig % 10000);
cout << "num in thousandth: " << (git - one) / 1000 << endl;
return 0;
}


Dave Kreskowiak

Выполнение за них домашних заданий для людей не одобряется.

CHill60

Если они все еще нуждаются в решении своей домашней работы после всего этого времени, они провалят курс!