0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 47
1

Замена последней цифры на значение наименьшей цифры в записи числа N

19.02.2014, 00:20. Показов 2496. Ответов 4
Метки нет (Все метки)

Ошибка в задании
Условие:Дано натуральное число N. Получить новое число М, которое образуется из числа N путем замены последней цифры на значение наименьшей цифры в записи числа N. Пример. N = 128 452, М = 128 451.

Для начала я делал проверку на то,пустое ли поле.После чего Edit1->Text = N.Length(); Если нет то я нахожу Edit1->Text = N.Length();(не знаю правильно ли я это сформулировал)После чего я хотел перебирать строку на нахождение минимального символа,но не знаю как это правильно реализовать.Помогите пожалуйста.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
float m;
int i,min;
AnsiString N = Edit1->Text;
if(N == "")
Edit1->Text = "Введите N";
Edit2->Text = "Ошибка";
else Edit1->Text = N.Length();
for(i=2;i<длина строки;i++)
{
min=N[1];
if (N[i]<min)
 {
  N[i]=min;
 }
}
N[длина строки-1]=min;
min=N[длина строки-1];
Edit2->Text=StrToInt(N);
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.02.2014, 00:20
Ответы с готовыми решениями:

Образовать новое число, путём замены последней цифры на значение наименьшей цифры в записи исходного числа
Помогите доделать задачу, минимальную цифру нашёл, последнюю цифру нашёл, только осталось присвоить...

Получить число М, которое образуется из числа N путем замены последней цифры на значение наибольшей цифры
Помогите составить программу, пожалуйста! Вот условие: Дано натуральное число N. Получить новое...

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

Нахождение наибольшей и наименьшей цифры в записи числа
написать программу нахождения наибольшей и наименьшей цифры в записи числа 2386754,

4
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
19.02.2014, 00:40 2
spectrum988, разделите число сначала по модулю на 10, потом просто на 10.
Сравнивайте числа полученные от деления по модулю начиная со второго с конца.
Останется дело за заменой.
1
0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 47
19.02.2014, 01:17  [ТС] 3
Спасибо большое,скажите,а через мой метод возможно решение ?
0
272 / 266 / 146
Регистрация: 02.08.2012
Сообщений: 609
19.02.2014, 02:18 4
Лучший ответ Сообщение было отмечено spectrum988 как решение

Решение

spectrum988, можно, вашу логику я понимаю, но реализацию неочень.
Первый элемент лучше присвоить min до цикла.
Могу предложить подобный вариант, используя строку:
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>
#include <string>
 
int main()
{
    std::string str, temp;
    int length, min;
    std::cout << "Enter number: ";
    std::cin >> str;
    
    length = str.size() - 1; //Количество "чисел"
    temp = str[0]; //Первый элемент "числа"
    min = atoi(temp.c_str()); //Присваивание min первого элемента
    
    for(int i = 0; i < length; i++)
    {
        temp = str[i];
        if(min >= atoi(temp.c_str()))
        {
            min = atoi(temp.c_str());
            str[length] = str[i]; //Замена последнего элемента
        }
    }
    
    std::cout << str << "\n\n";
    
    system("pause");
    return 0;
}
1
0 / 0 / 1
Регистрация: 24.10.2013
Сообщений: 47
19.02.2014, 20:59  [ТС] 5
Да да,ваш код правилен,я тоже вижу,что вы поняли суть попыток моего решения.Cпасибо, я разобрался уже с заданием,буквально чуток было не так!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.02.2014, 20:59
Помогаю со студенческими работами здесь

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

Найти сумму наибольшей и наименьшей цифры в записи данного натурального числа
Составить программу для решения следующей задачи :Найти сумму наибольшей и наименьшей цифры в...

Циклы: найти произведение последней цифры и минимальной цифры числа с произведением всех остальных
Помогите, я даже не знаю о чем речь(((( Дано натуральное число n. Найти произведение последней...

Удалить из записи числа все вхождения последней цифры
Дано натуральное число n. Удалить из записи числа все вхождения последней цифры. Подсчитать...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru