0 / 0 / 0
Регистрация: 08.04.2023
Сообщений: 3

Поиск максимальной цифры в числе с циклом while

04.05.2023, 15:44. Показов 2390. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: Дано целое число n, удовлетворяющее условию 0<|n|<=2*10^9. Найти максимальную цифру в записи этого числа.

Честно говоря, слабо понимаю, куда поместить данное условие. Программа работает, но условие не выполняется, просто выдает макс. цифру из любого числа, в т.ч. 0.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
#include <math.h>
 
using namespace std;
 
int main() {
    int n, max;
    cout << "Введите число" << endl;
    cin >> n;
    do {
        int x = n % 10;
        if(x > max) max = x;
        n /= 10;
    }
    while((0 < fabs(n)) && (fabs(n) <= 2 * pow(10, 9)));
    cout << "Максимальная цифpа в числе=" << max << endl;
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2023, 15:44
Ответы с готовыми решениями:

Поиск максимальной цифры в целом числе N. Использовать операцию остатка от целочисленного деления
Добрый день! Число N вводит пользователь, написать код поиска максимальной цифры в целом числе N. Использовать операцию остатка от...

Нахождение максимальной цифры в числе
Надо составить программу, которая находит максимальную цифру в числе: #include &lt;iostream&gt; #include &lt;math.h&gt; #include...

Определение максимальной и минимальной цифры в числе
Расскажите поподробнее, как определить в введённом числе (пятизначном, двадцатизначном, любом) минимальную и максимальную цифру? Там вроде...

30
79 / 60 / 22
Регистрация: 14.12.2022
Сообщений: 240
05.05.2023, 00:24
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от abit Посмотреть сообщение
можете смело заменять max на min)
красивым такое не назовешь. если уж вооружаться stl, то по максимуму готовое надо юзать. дробление на циферки уже есть, надо лишь немного подкрутить:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <algorithm>
#include <sstream>
#include <cstdlib>
 
int main()
{
  int n = -1234;
  std::stringstream stream;
  stream << abs(n);
  auto elem = -'0' + *std::min_element(std::istream_iterator<char>(stream), std::istream_iterator<char>());
  std::cout << "elem: " << elem << std::endl;
  return 0;
}
0
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,882
05.05.2023, 00:32
по замыслу было возвращать вектор char, вот что избыточно так это точно)

Добавлено через 3 минуты
MegaJopa
ну вот stream вообще не к месту, я об этом думал, но точно не в тему
0
79 / 60 / 22
Регистрация: 14.12.2022
Сообщений: 240
05.05.2023, 00:36
Цитата Сообщение от abit Посмотреть сообщение
ну вот stream вообще не к месту, я об этом думал, но точно не в тему
векторы в тему, генератор тоже в тему, а стрим - нет. логично!
признавайся, какой из всех перечисленных тут вариантов ты потащил бы в прод?
0
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,882
05.05.2023, 00:46
векторы можно самому реализовать на 50байтах памяти, генераторы так же, а преобразования цифр в строку, потом назад извините

Добавлено через 8 минут
хотя...
мы вообще исходили из кода
C++
1
 while((0 < fabs(n)) && (fabs(n) <= 2 * pow(10, 9)))
)))
так что да, можно и stream
0
79 / 60 / 22
Регистрация: 14.12.2022
Сообщений: 240
05.05.2023, 00:47
Цитата Сообщение от abit Посмотреть сообщение
векторы можно самому реализовать на 50байтах памяти, генераторы так же, а преобразования цифр в строку, потом назад извините
т.е. потащишь самодельные генераторы и векторы которые на циферки будешь разбивать в том самом цикле, с которым у автора в самом начале проблеммки возникли? чем кстати строка std::string так уж принципиально от вектора отличается что вот с вектором что-то там "назад" можно, а со строкой - "извините"?
0
86 / 60 / 12
Регистрация: 06.06.2013
Сообщений: 216
05.05.2023, 00:48
Цитата Сообщение от abit Посмотреть сообщение
ну то есть действительно, вот вы собрались и решаете задачи школьникам-студентам, ради чего, они же просто дерут и несут, я стараюсь давать код, в котором вдруг зададутся вопросом а как так то
О, я нашел тему, где можно бомбануть. А вас тут всех вообще не напрягают темы типа: "Задача такая-то, сделать то-то". Точка. В смысле, не "вот я что-то попробовал сам, но оно вылетает с непонятной ошибкой, помогите разобраться", а вот просто, на те задачку из учебника, сдайте за меня зачет. Вы же погромисты, вы слишком умные, вам такое интересно. Серьезно, каждая вторая тема! С этой точки зрения к автору этой темы ноль претензий. Жаль разве что, что не подал голоса, удовлетворило ли его решение zss, вкурил ли он ламбада-функцию от abit или просто сам разобрался с корректностью. А abit - спасибо, скрасил вечер своим while(0) Хотя если честно, тоже считаю, что использование вектора здесь - немного оверкилл.
0
79 / 60 / 22
Регистрация: 14.12.2022
Сообщений: 240
05.05.2023, 00:53
Цитата Сообщение от Anvis Посмотреть сообщение
О, я нашел тему, где можно бомбануть. А вас тут всех вообще не напрягают темы типа: "Задача такая-то, сделать то-то". Точка. В смысле, не "вот я что-то попробовал сам, но оно вылетает с непонятной ошибкой, помогите разобраться"
Я в таких темах пишу что сделаю максимально быстро, если поставят смайлик:
Но некоторые на такое почему-то оскорбляются, некоторые жалуются, а модеры потом это удаляют. Приходится не сильно частить с этим.
ну например вот: Вычислить выражение
ну и до кучи в профайле у меня картинка со счетчиком поставивших смайлик. задачи из таких топиков я конечно же не решаю.
0
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,882
05.05.2023, 00:57
Цитата Сообщение от Anvis Посмотреть сообщение
удовлетворило ли его решение zss, вкурил ли он ламбада-функцию от abit
да дело не совсем в нём, понял он или нет, вдруг захочет понять? хотя в нём том же, смотри, реально человек, который интересуется программированием увидет такой код на C++
C++
1
2
3
4
#include <stdio.h>
#include <conio.h>
#define NMAX 81 /*максимальная длина стpоки*/
int strlen(char* str);
из этой темы
а не, то что пишут в нормальных проектах
Этот форум же читает не только автор вопроса, мы говорим как это стоило бы делать, возмущает что большинству просто надо решить задачу и они побежали, так может вы не там и не на того учитесь, остановитесь)
0
86 / 60 / 12
Регистрация: 06.06.2013
Сообщений: 216
05.05.2023, 01:10
Цитата Сообщение от abit Посмотреть сообщение
вдруг захочет понять?
Ну хорошо. Я захотел. Только завтра захотел - сегодня хотеть уже поздно И тем не менее. Ладно нам, а может создателю темы действительно не надо эти высокоуровневые приблуды? Может он микроконтроллер собирается прошивать, который от этих <алгоритмов> по швам разойдется?
0
 Аватар для abit
870 / 529 / 149
Регистрация: 03.02.2013
Сообщений: 1,882
05.05.2023, 01:15
Цитата Сообщение от Anvis Посмотреть сообщение
микроконтроллер собирается прошивать, который от этих <алгоритмов> по швам разойдется?
не разойдётся, я программист ARM на основной профессии, всё нормально с ними)
0
86 / 60 / 12
Регистрация: 06.06.2013
Сообщений: 216
05.05.2023, 01:20
Цитата Сообщение от abit Посмотреть сообщение
я программист ARM на основной профессии
Оу, ну тогда моё Вам почтение!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2023, 01:20

Алгоритм поиска максимальной цифры в целом числе N
4. Алгоритм поиска максимальной цифры в целом числе N.

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

Составить число из дополнения каждой цифры до максимальной в числе
Задача : написать программу в Visual Baisic. Пользователь вводит целое число, необходимо составить число из дополнения каждой цифры до...

Удалить в данном натуральном числе все цифры, равные максимальной
Удалить в данном натуральном числе все цифры, равные максимальной.

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


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

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

Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru