Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2018, 22:14   #1
leshko_k
 
Регистрация: 05.11.2018
Сообщений: 8
По умолчанию [C++] вывести максимальную цифру в числе (помогите найти ошибку)

помогите найти ошибку
программа должна выводит максимальную цифру в числе , но при вводи числа, например, 88928898 , программа выводит 8 , хотя должно быть 9
Код:
#include "pch.h"
#include <iostream>
using namespace std;
int main()
{
	int max = 0;
	int a, n, c,col;
	cin >> a;
	while (a>0)

	{
		n = a % 10;
		if (n > max) max = n;
		
		a /= 10;
		
	}
	cout << max << endl;
}
_____
Код программы нужно выделять (форматировать) тегами [CODE] [/CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 20.11.2018 в 22:18.
leshko_k вне форума Ответить с цитированием
Старый 20.11.2018, 22:21   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

всё работает - https://ideone.com/zqBX9x

разбирайтесь со своим компилятором (например, посмотрите, чему равен размер int )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.11.2018, 22:25   #3
leshko_k
 
Регистрация: 05.11.2018
Сообщений: 8
По умолчанию

спасибо, а как в этой же программе посчитать сколько раз max повторяется ?
leshko_k вне форума Ответить с цитированием
Старый 20.11.2018, 22:35   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

например, можете повторно запустить цикл с теми же условиями, получать каждую цифру, сравнивать её с максимумом, если да - счётчик увеличивваем на 1
Вадим Мошев вне форума Ответить с цитированием
Старый 21.11.2018, 08:27   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
например, можете повторно запустить цикл с теми же условиями, получать каждую цифру, сравнивать её с максимумом, если да - счётчик увеличивваем на 1
либо счётчик считать сразу же:
Код:

	int max = -1;
	int countmax = -1
	int a, n, c,col;
	cin >> a;
	while (a>0)
	{
		n = a % 10;
		if (n > max) {max = n; countmax=1;}
		else if(n==max) countmax++;
		
		a /= 10;
		
	}
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C++] найти сумму ряда , посчитать функцию ch(x) и найти абсолютную и относительную погрешности. Помогите найти ошибку! Vladonna Помощь студентам 2 13.09.2018 22:07
Даны строки, содержащая цифры. Найти максимальную четную цифру ggjgj Общие вопросы C/C++ 0 03.12.2016 19:01
Дан символ С, изображающий цифру или букву (латинскую или русскую). Если С изображает цифру, то вывести строку "digit", если латин marinadanilova Помощь студентам 3 28.10.2014 22:44
Написать программу на HTML и JavaScript для следующего задания: Найти максимальную цифру в записи данного трехзначного ч Marika lady Помощь студентам 1 29.09.2011 06:48
найти вторую цифру в целом положительном числе Dane4ka Помощь студентам 6 13.04.2011 20:33