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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2011, 18:39   #1
Водонька
 
Регистрация: 02.10.2011
Сообщений: 8
По умолчанию Произведение цифр.

Составить программу, которая определяет произведение цифр четырехзначного числа, введенного пользователем.
Водонька вне форума Ответить с цитированием
Старый 16.10.2011, 18:58   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

поторопился, код не верный
Все тривиальное просто

Последний раз редактировалось whatever; 16.10.2011 в 19:02.
whatever вне форума Ответить с цитированием
Старый 16.10.2011, 19:02   #3
Водонька
 
Регистрация: 02.10.2011
Сообщений: 8
По умолчанию

Все работает отлично. Спасибо!
Водонька вне форума Ответить с цитированием
Старый 16.10.2011, 19:03   #4
gaw4
Форумчанин
 
Регистрация: 31.05.2010
Сообщений: 407
По умолчанию

Код:
   while n>0 do
      begin
      p:=p* (n mod 10);
         n:=n div 10;
      end;
Writeln('n=',n,'    p=',p);
icq 584 308 611
gaw4 вне форума Ответить с цитированием
Старый 16.10.2011, 19:08   #5
gaw4
Форумчанин
 
Регистрация: 31.05.2010
Сообщений: 407
По умолчанию

опоздал
icq 584 308 611
gaw4 вне форума Ответить с цитированием
Старый 16.10.2011, 19:10   #6
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Грубо, дешего, сердито:
Код:
var
  n,mult,i:integer;
begin
  writeln('Enter n:');
  readln(n);
  mult:=n div 1000;
  i:=n mod 1000;
  mult:=mult* (i div 100);
  i:=i mod 100;
  mult:=mult* (i div 10);
  i:=i mod 10;
  mult:=mult*i;
  writeln(mult);
  readln
end.
Из-за ограничений (четырехзначное, натуральное) писать цикл не вижу смысла.

P.S. я сразу скобочки расставить забыл, будут косяки. Сейчас код исправленый
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 16.10.2011, 20:12   #7
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
#include <iostream>
#include <sstream>
int main( ) {
	std ::stringstream 
			sstr;
	char	str[ 25 ];
	int		s, k;
	
	std ::cin >> str;
	sstr << str;
	
	s = 0;
	do {
		k = sstr .get();
		if( sstr .eof( ) )
			break;
		if( k < '0' || k > '9' ) {
			std ::cout << "error" << std ::endl;
			break;
		}
		s *= k - '0';
	} while( 1 );

	std ::cout << s;
	
	std ::cin .get(), std ::cin .get();
	return 0;
}
rrrFer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача про Произведение цифр newStudent Помощь студентам 5 17.02.2011 17:45
Найти произведение цифр данного числа chertovka. Помощь студентам 2 25.06.2010 11:59
(Паскаль)Найти произведение цифр, встречающихся в строке Doublefaced Помощь студентам 24 24.06.2009 18:25
Найти произведение цифр натурального числа, больших В microlab Помощь студентам 6 23.12.2008 20:46