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

Найти наибольшую цифру в записи данного натурального числа - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.60
Lubava89
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 3
19.10.2011, 19:28     Найти наибольшую цифру в записи данного натурального числа #1
Помогите пожалуйста, вообще не понимаю в С++, а надо решить задачки для зачета. Очень нужно
1. Найти наибольшую цифру в записи данного натурального числа
2. Дано натуральное число n. Выбросить из записи числа n цифры 0 и 5, оставив прежним порядок остальных цифр. Например из числа 59015509 должно получиться 919
Заранее огромное спасибо

Добавлено через 9 минут
Ну пожайлуста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2011, 19:28     Найти наибольшую цифру в записи данного натурального числа
Посмотрите здесь:

Найти цифру, соответствующую разряду сотен в записи числа C++
Составить программу для нахождения числа, которое образуется из данного натурального числа при записи его цифр в обратном порядке C++
Присвоить целой переменной h n -ую от конца цифру в записи натурального числа k C++
C++ Если у данного натурального четырехзначного числа все цифры одинаковые, то найти их сумму, в противном случае их произведение
C++ Найти все простые положительные делители данного натурального числа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Choopa
 Аватар для Choopa
17 / 17 / 0
Регистрация: 03.04.2011
Сообщений: 89
19.10.2011, 19:35     Найти наибольшую цифру в записи данного натурального числа #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <vcl.h>
 
 #include <iostream.h>
 #include <string.h>
//---------------------------------------------------------------------------
 
 
int main(int argc, char* argv[])
{
string a;char b;
cin>>a;
b=a[0];
int n=a.length();
for(int i=0;i<n;i++)
{
if(a[i]=='0'||a[i]=='5'){a.erase(i,1);i--;}
if(a[i]>b)b=a[i];
}
cout<<a<<endl<<b;
system("pause");
        return 0;
}
Lubava89
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 3
20.10.2011, 09:20  [ТС]     Найти наибольшую цифру в записи данного натурального числа #3
Спасибо огромное приогромное)))))))
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.10.2011, 11:04     Найти наибольшую цифру в записи данного натурального числа #4
Lubava89, разве код выше соответствует заданию?

вариант с числом (2 задание)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
using namespace std;
 
const int a = 0;
const int b = 5;
 
const int SH = 10;
 
int Reduce(int val)
{
 
    int res = 0;
 
    while (val)
    {
        int ost =  val % SH;
        val /= SH;
 
        if (ost == a || ost ==b)
            continue;
 
        res = res * SH  + ost;
    }
 
    return res;
}
 
 
int Rotate(int val)
{
    int res = 0;
 
    while (val)
    {
        int ost =  val % SH;
        val /= SH;
 
        res = res * SH  + ost;
    }
 
    return res;
}
 
 
int main()
{
    int n = 58015509;
 
    cout << Rotate(Reduce(n));
 
return 0;
}
Функции Rotate и Reduce отличаются всегол ишь 1 строкой.
C++
1
2
        if (ost == a || ost ==b)
            continue;
как можно улучшить?
Yandex
Объявления
20.10.2011, 11:04     Найти наибольшую цифру в записи данного натурального числа
Ответ Создать тему
Опции темы

Текущее время: 03:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru