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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2011, 20:35   #1
Сержuk
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 21
По умолчанию Работа с числами на C++

В задании от пользователя требуется ввести многозначное число, далее компьютерная программа находит произведение цифр этого числа, и находит минимальный и максимальный элемент(цифры) этого многозначного числа. Использование массивов не разрешается

Помогите реализовать программу!

Вот собственная наработка программы, но она к сожалению не работает( в виду незнания основ языка C++ как такового, до этого изучал Pascal на нем мне собственно легче реализовать задуманное)

Код HTML:
#include <iostream.h>
#include <math.h>
	float s,min,max;
	int a; 
	int main()
{
	cout<<"Введите многозначное число"<<endl;
	cin>>a; //Многозначное число вводимое пользователем
	s=1;
        	while (a>0);
		{
		s=s*(a%10); //Деление с остатком; подобное в паскале 25 mod 10=5
		a=a;//10
		}
	cout<<s;
	for (;i>0 i%10)
	if(max<i)
	max=i;
	if(min>i)
	min=i;
	cout<<max<<endl;
	cout<<min<<endl;
	return 0; 
}

Последний раз редактировалось Сержuk; 21.09.2011 в 00:18.
Сержuk вне форума Ответить с цитированием
Старый 20.09.2011, 20:42   #2
datMaster
Пользователь
 
Регистрация: 30.08.2011
Сообщений: 20
По умолчанию

Обращайся
icq: 426-419-383
e-mail: dat.master@i.ua
datMaster вне форума Ответить с цитированием
Старый 20.09.2011, 20:50   #3
Сержuk
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 21
По умолчанию

Цитата:
Сообщение от datMaster Посмотреть сообщение
Обращайся
icq: 426-419-383
e-mail: dat.master@i.ua
не надо рекламироваться - покупать программу не собираюсь, я хочу сам понять как это работает.
Сержuk вне форума Ответить с цитированием
Старый 20.09.2011, 21:00   #4
datMaster
Пользователь
 
Регистрация: 30.08.2011
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Сержuk Посмотреть сообщение
не надо рекламироваться - покупать программу не собираюсь, я хочу сам понять как это работает.
хм, если САМ хочешь понять как это работает, зачем сюда написал?
datMaster вне форума Ответить с цитированием
Старый 20.09.2011, 21:06   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
хм, если САМ хочешь понять как это работает, зачем сюда написал?
А ты не заметил, что это не раздел фриланс? Автор же не просит решить за него стотыщпицот задач и даже не тупо скопипастил задание, а даже показал свой код)
Цитата:
a=a;
оО
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.09.2011, 21:16   #6
Сержuk
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 21
По умолчанию

a=a; помоему это лишнее, но вот что скажете насчет остального? есть ли у кого нибудь какие идеи?
Сержuk вне форума Ответить с цитированием
Старый 20.09.2011, 21:29   #7
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию

Код:
=  //присваивание
==  //сравнение
%  //остаток от деления
++ //инкримент
вот это
Код:
for (;i>0 i%10)
в С++ не корректно

Последний раз редактировалось SAMOUCHKA; 20.09.2011 в 21:31.
SAMOUCHKA вне форума Ответить с цитированием
Старый 20.09.2011, 21:57   #8
datMaster
Пользователь
 
Регистрация: 30.08.2011
Сообщений: 20
По умолчанию

лови

Код:
#include <iostream>
#include <cstring>
#include <sstream>

using namespace std;

int main()
{
    int inp;
    stringstream tempStr;
    string strOut;
    cout << "Inp dig: ";
    cin >> inp;

    tempStr << inp;
    tempStr >> strOut;


    int len = (sizeof(strOut) / sizeof(char)) - 1;
    cout << "Len: " << len << endl;
    int result = 0;
    int max = (strOut[0] - 48);
    int min = max;
    for (int i = 0; i < len; ++ i)
    {
        if (max < (strOut[i] - 48))
            max = (strOut[i] - 48);
        if (max > (strOut[i] - 48))
            min = (strOut[i] - 48);
        result = result + (strOut[i] - 48);
    }
    cout << "ResusltAdd: " << result << endl << "Max: " << max << endl << "Min: " << min << endl;
    return 0;
}

Последний раз редактировалось datMaster; 20.09.2011 в 22:01.
datMaster вне форума Ответить с цитированием
Старый 21.09.2011, 00:28   #9
Сержuk
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 21
По умолчанию

Использование массивов не разрешается
Сержuk вне форума Ответить с цитированием
Старый 21.09.2011, 00:40   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
до этого изучал Pascal на нем мне собственно легче реализовать задуманное
А как на Паскале?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с числами Madara88 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 30.03.2011 17:34
работа с числами Tata4ka Помощь студентам 1 20.10.2010 16:13
Работа с числами в С++ Mashul'ka Помощь студентам 2 04.11.2009 14:36
Работа с числами Drain Общие вопросы Delphi 10 11.02.2008 16:35