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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2012, 22:42   #1
Daenerys
Новичок
Джуниор
 
Регистрация: 05.03.2012
Сообщений: 4
По умолчанию Задача по С++. Просто работа с числом. Несложная вроде как.

Дано трехзначное число.

Найти сумму и произведение его цифр.

Вывести число, полученное при прочтении исходного числа справа налево.

В нем зачеркнули первую слева цифру и приписали ее справа. Вывести полученное число.

В нем зачеркнули первую справа цифру и приписали ее слева. Вывести полученное число.

Вывести число, полученное при перестановке цифр сотен и десятков исходного числа (например, 123 перейдет в 213).

Вывести число, полученное при перестановке цифр десятков и единиц исходного числа (например, 123 перейдет в 132).


Помогите пожалуйста. Задача вроде не самая трудная... Объясните пожалуйста хотя бы как написать трехзначное число.

Последний раз редактировалось Daenerys; 06.03.2012 в 00:04.
Daenerys вне форума Ответить с цитированием
Старый 05.03.2012, 22:54   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Объясните пожалуйста хотя бы как написать трехзначное число.
Трёхзначное число это такое число, которое состоит из 3 цифр в интервале от 0(1) до 9, если система десятичная!
Поэтому надо написать три цифры подряд! И будет счастье!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 05.03.2012, 23:34   #3
Daenerys
Новичок
Джуниор
 
Регистрация: 05.03.2012
Сообщений: 4
По умолчанию

Спасибо конечно, но в первом классе я, к счастью, была очень и очень давно.
Мне нужно сделать так, чтобы можно было в программе ввести любое трехзначное число, с которым потом производились бы данные действия (которые в задании).
Daenerys вне форума Ответить с цитированием
Старый 05.03.2012, 23:36   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
do
{
    cin >> num;
} while ((num >= 100) && (num <= 999));
Будет срабатывать пока не введёте трёхзначное число
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 05.03.2012, 23:38   #5
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

вроде как запретов на ввод чисел тем более трехзначных нету... правда нужно будет использовать не byte... ) int к примеру)))
давно была?... к счастью... если
Цитата:
Объясните пожалуйста хотя бы как написать трехзначное число.
вызывает затруднения... то думаю первый класс самое оно... )
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 06.03.2012, 00:03   #6
Daenerys
Новичок
Джуниор
 
Регистрация: 05.03.2012
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
Код:
do
{
    cin >> num;
} while ((num >= 100) && (num <= 999));
Будет срабатывать пока не введёте трёхзначное число
Да, только как с ним потом действия производить?
Daenerys вне форума Ответить с цитированием
Старый 06.03.2012, 00:04   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Да, только как с ним потом действия производить?
Это уж как хотите!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 06.03.2012, 00:12   #8
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

ispolzovat operacii / i % ili peretvorit chislo v char array.
rUs_LAN вне форума Ответить с цитированием
Старый 06.03.2012, 00:29   #9
OstyN
Пользователь
 
Аватар для OstyN
 
Регистрация: 31.12.2011
Сообщений: 12
По умолчанию

Код:
/*Дано трехзначное число.
Найти сумму и произведение его цифр.
Вывести число, полученное при прочтении исходного числа справа налево.
В нем зачеркнули первую слева цифру и приписали ее справа. Вывести полученное число.
В нем зачеркнули первую справа цифру и приписали ее слева. Вывести полученное число.
Вывести число, полученное при перестановке цифр сотен и десятков исходного числа (например, 123 перейдет в 213).
Вывести число, полученное при перестановке цифр десятков и единиц исходного числа (например, 123 перейдет в 132).*/

#include <stdio.h>
#include <clocale>

void sp (int);			//функция нахождения суммы и произведения цифр
void sprnl (int);		//функция прочтения числа справа налево
void pervsl (int);		//функция 3 :D
void pervsp (int);		//функция 4 :P
void sotdes (int);		//функция перестановки сотен и десятков
void desedin (int);	//функция перестановки десятков и единиц

int main()
{
	setlocale (2, ".1251");
	int num;
	do
	{
		printf ("Введите число: ");
		while (!(scanf("%d", &num)) || num < 100 || num > 999)
		{
			fflush(stdin);
			printf ("\nОшибка. Введите заново: ");
		}
		sp (num);
		sprnl (num);
		pervsl (num);
		pervsp (num);
		sotdes (num);
		desedin (num);
		printf ("\n\n");
	}
	while (1);
	return 0;
}

void sp (int a)
{
	int sum=0, mult=1;
	while (a)
	{
		sum+=a%10;
		mult*=a%10;
		a=a/10;
	}
	printf ("\n\nСумма цифр равна: %d", sum);
	printf ("\nПроизведение цифр: %d", mult);
}

void sprnl (int num)
{
	int a, b, c;
	a=num%10;
	num/=10;
	b=num%10;
	num/=10;
	c=num%10;
	printf ("\nПеревернутое число: %d", 100*a+10*b+c);
}

void pervsl (int num)
{
	int a, b;
	a=num%100;
	b=num/100;
	printf ("\nЗачеркнули первую слева цифру и приписали ее справа: %d", a*10 + b);
}

void pervsp (int num)
{
	int a, b;
	a=num%10;
	b=num/10;
	printf ("\nЗачеркнули первую справа цифру и приписали ее слева: %d", a*100 + b);
}

void sotdes (int num)
{
	int a, b, c;
	a=num%10;
	num/=10;
	b=num%10;
	num/=10;
	c=num%10;
	printf ("\nПерестановка сотен и десятков: %d", b*100 + c*10 + a);
}

void desedin (int num)
{
	int a, b, c;
	a=num%10;
	num/=10;
	b=num%10;
	num/=10;
	c=num%10;
	printf ("\nПерестановка десятков и единиц: %d", c*100 + a*10 + b);
}
Держите! Только в след. раз, хотя бы какие-нибудь свои наброски!
Asm, C/C++

Последний раз редактировалось OstyN; 06.03.2012 в 00:33. Причина: windows.h - лишнее
OstyN вне форума Ответить с цитированием
Старый 06.03.2012, 01:13   #10
Daenerys
Новичок
Джуниор
 
Регистрация: 05.03.2012
Сообщений: 4
По умолчанию

OstyN, спасибо огромное!
Daenerys вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Iaccessible to IHTMLElement.... Вроде всё просто, а я уже 4-й день ищу... chaky22 Win Api 0 14.12.2010 20:13
Вроде несложная задачка britva666 Помощь студентам 2 28.06.2009 19:09
Вроде на первый взгляд всЁ просто...... Solny6ko YasnoE Помощь студентам 4 17.09.2007 08:23
Скока парился ни чё не получилось, а вроде всё просто! Cherni Voron Общие вопросы Delphi 14 07.08.2007 16:25
Помогите, вроде несложная задачка, НО Nez Общие вопросы Delphi 17 12.03.2007 14:04