Страница 1 из 1
		
			
				Как вытащить из числа 1509 цифры 5 и 0?
				
Добавлено: 
08.10.2008 00:11:20 fs444
				Как средствами Pascal вытащить из числа 1509 цифры 5 и 0? Я разбираю 1509 на тысячи (1), сотни (5), десятки(0) и единицы (9), нахожу среди них 5 и 0, сдигаю на два разряда влево число единиц (9), но вот как мне соединить бывшие тысячами десятки (1) и сдвинутые влево единицы, я не знаю. Как мне это сделать?
			 
			
		
			
				Re: Как вытащить из числа 1509 цифры 5 и 0?
				
Добавлено: 
08.10.2008 00:26:51 bw
				Постановка задачи:
> Как средствами Pascal вытащить из числа 1509 цифры 5 и 0?
Решение задачи:
> WriteLn(5);
> WriteLn(0);
..bw
			 
			
		
			
				Re: Как вытащить из числа 1509 цифры 5 и 0?
				
Добавлено: 
08.10.2008 14:19:06 Михаил Крамер
				- Код: Выделить всё
- var
 i: Word;
 begin;
 i:= 1509;
 Writeln(i div 1000);
 Writeln((i mod 1000) div 100);
 Writeln((i mod 100) div 10);
 Writeln(i mod 10);
 end.
 
А про сдвиги, и задвиги - не въехал. В чём задача то?
А! Дошло! Видимо, решение такое:
- Код: Выделить всё
- var i, j: Word;
 begin
 i:= 1509;
 j:= i div 1000 *10 + i mod 10;
 writeln(j);
 end.
 
;
 
			
		
			
				Re: Как вытащить из числа 1509 цифры 5 и 0?
				
Добавлено: 
08.10.2008 17:20:44 fs444
				Я вам неправильно все объяснил. Вот текст задания:
Добавлено спустя 16 минут 2 секунды:Я сделал так:
- Код: Выделить всё
- Program l6_n16_dano_4zn_chislo_n;
 Var n,one_n,dec_n,hun_n,thu_n:Longint;
 Begin
 Writeln('Введите 4-зн. число');
 Readln(n);
 one_n:=n Mod 10;
 dec_n:=(n Div 10) Mod 10;
 hun_n:=(n Div 100) Mod 10;
 thu_n:=n Div 1000;
 If (thu_n<>0) And (thu_n<>5) Then Write(thu_n);
 If (hun_n<>0) And (hun_n<>5) Then Write(hun_n);
 If (dec_n<>0) And (dec_n<>5) Then Write(dec_n);
 If (one_n<>0) And (one_n<>5) Then Write(one_n);
 Readln;
 End.
 
 
			
		
			
				Re: Как вытащить из числа 1509 цифры 5 и 0?
				
Добавлено: 
08.10.2008 18:24:04 Михаил Крамер
				А причём тут сдвиги? Или вы хотите в результате получить тоже число, а не просто вывести на экран цифры?
Добавлено спустя 7 минут 26 секунд:Тогда так можно:
- Код: Выделить всё
-     Program l6_n16_dano_4zn_chislo_n;
 Var n,one_n,dec_n,hun_n,thu_n, l, m:Longint;
 Begin
 Writeln('Введите 4-зн. число');
 Readln(n);
 one_n:=n Mod 10;
 dec_n:=(n Div 10) Mod 10;
 hun_n:=(n Div 100) Mod 10;
 thu_n:=n Div 1000;
 l:= 0;
 m:= 1;
 If (one_n<>0) And (one_n<>5) Then
 begin
 l:= l + one_n * m;
 m:= m * 10;
 end;
 If (dec_n<>0) And (dec_n<>5) Then
 begin
 l:= l + dec_n * m;
 m:= m * 10;
 end;
 If (hun_n<>0) And (hun_n<>5) Then
 begin
 l:= l + hun_n * m;
 m:= m * 10;
 end;
 If (thu_n<>0) And (thu_n<>5) Then
 begin
 l:= l + thu_n * m;
 m:= m * 10;
 end;
 writeln(l);
 Readln;
 End.
 
Вообще, по хорошему, организовать бы циклик - но лень думать.
 
			
		
			
				Re: Как вытащить из числа 1509 цифры 5 и 0?
				
Добавлено: 
08.10.2008 18:49:01 Padre_Mortius
				а не проще будет работать с числом как с массивом символов?
			 
			
		
			
				Re: Как вытащить из числа 1509 цифры 5 и 0?
				
Добавлено: 
08.10.2008 19:49:18 Михаил Крамер
				Padre_moris, оно конечно проще - но не в духе учебных задач. Я думаю, что задача то как раз на работу с цифрами.
О, кстати, вот вам и более изящное решение:
- Код: Выделить всё
- var n, l, m: integer;
 begin
 Readln(n);
 l:= 0; m:= 1;
 while n <> 0 do
 begin
 if (n mod 10 <> 0) and (n mod 10 <>5) then
 begin
 l:= l + n mod 10 * m;
 m:= m * 10;
 end;
 n:= n div 10;
 end;
 Writeln(l);
 end.
 
 
			
		
			
				Re: Как вытащить из числа 1509 цифры 5 и 0?
				
Добавлено: 
09.10.2008 02:04:16 bw
				> l:= l + n mod 10 * m;
Лучше бы так написать:
l:= l + (n mod 10) * m;
..bw
			 
			
		
			
				Re: Как вытащить из числа 1509 цифры 5 и 0?
				
Добавлено: 
09.10.2008 09:36:00 SergeySmlInf
				Задача в том, чтобы не "вытащить", а получить новое число...
var a,b,c,ch:integer;
begin
  write('a=');
  read(a);
  b:=0;
  c:=1;
  while a>0 do
    begin
       ch:=a mod 10;
       a:=a div 10;
       if (ch<>0) and (ch<>5) then
         begin
            b:=b+ch*c;
            c:=c*10;
        end;
   end;
 writeln(b);
end.
//  десятиричная система - ПОЗИЦИОННАЯ!
end.
			 
			
		
			
				Re: Как вытащить из числа 1509 цифры 5 и 0?
				
Добавлено: 
09.10.2008 13:27:22 Михаил Крамер
				Сергей, а в чём отличие моей программы от Вашей?
			 
			
		
			
				Re: Как вытащить из числа 1509 цифры 5 и 0?
				
Добавлено: 
09.10.2008 15:40:40 SergeySmlInf
				А ни в чем.
Просто я на вашу не посмотрел... 
 
 У меня эту задачу 9-классники решали, вот я первую подвернувшуюся и закатал...
А просмотрел только самое начало...