Имя: Пароль:
IT
 
Pascal. Простая задача
,
0 Sabbath
 
18.04.12
00:10
Вообще не знаком с синтаксисом паскаля. Задачка элементарная

Есть трехзначное число, надо разложить его на цифры. Как вариант решения: преобразовать в строку, обойти в цикле и вывести каждый символ. Написал бы за минуту, если б знал, как объявлять переменные и как преобразовывать типы))

Подсобите, пожалуйста
1 Asmody
 
18.04.12
00:13
чё за бред? деление на 10 в паскале тоже хорошо работает
2 Sabbath
 
18.04.12
00:15
ну можно и так. Мне все равно, я синтаксис не знаю))
3 Sabbath
 
18.04.12
00:16
Можно еще десяток решений придумать, я думаю... вопрос не в этом
4 1C_Enigma
 
18.04.12
00:16
5 1C_Enigma
 
18.04.12
00:17
6 Sabbath
 
18.04.12
00:21
Ну а набросать никто не может? Разобраться я и сам могу без ссылок. Просто хотел узнать решение за минимальное время
7 H A D G E H O G s
 
18.04.12
00:29
var
data:integer;
rslt:integer;
delitel:integer;
i:integer;
begin
 readln(data);
 delitel:=100;
 for i:=1 to 3 do begin
   rslt:=(data div delitel);
   data:=round(data-rslt*delitel);
   writeln(rslt);
   delitel:=round(delitel/10);
 end;
 readln;
end.
8 NS
 
18.04.12
00:29
var s:rtring;
var r:integer;
Begin
read(r);
s:='';
While r<>0 do
begin
s:=inttostr(r mod 10)+s;
r:=r div 10;
end;
writeln(s);
end.
9 Sabbath
 
18.04.12
00:30
вот спасибо :)
10 H A D G E H O G s
 
18.04.12
00:31
(8) inttostr нет в рассово чистых Паскалях.
11 NS
 
18.04.12
00:32
(10) chr(ord('0')+(r mod 10))
:)
12 Asmody
 
18.04.12
00:32
ну чё то там:
program digits();
var
 n, l: integer;
begin
 writeln("вводите:");
 readln(n);
 while n>0 do
 begin
   l:= n mod 10;
   n:= n div 10;
   writeln(l);
 end;
end.
13 H A D G E H O G s
 
18.04.12
00:33
А я чето затупил, твой вариант справо налево выводит, если не складывать в строку. Я его отверг, реально затупил.
14 H A D G E H O G s
 
18.04.12
00:33
Руки помнят, фигли.
15 zak555
 
18.04.12
00:35
а что ещё паскаля в школах дают ?
16 NS
 
18.04.12
00:37
(15) Люди в институтах на VB 6.0 до сих пор учатся. И Паскаль тоже дают.
17 Sabbath
 
18.04.12
00:39
(15) Ага дают, школьнице надо было, а я не знаю))
18 Asmody
 
18.04.12
00:41
(14) некоторые Йенсена-Вирта под подушкой держали вместо сказки на ночь
19 Asmody
 
18.04.12
00:41
(17) напиши на 1С, на запросах, полезнее будет :)
20 Sabbath
 
18.04.12
00:42
боюсь препод не одобрит)
21 NS
 
18.04.12
00:42
(17) ей с массивом наверно.
var s:array [1..100] of integer;
var r,ch,i:integer;
Begin
read(r);
s:='';
ch:=0;
While r<>0 do
begin
ch:=ch+1;
s[ch]:=r mod 10;
r:=r div 10;
end;
for i:=ch downto 1 do write(s[i]);
writeln();
end.
22 Sabbath
 
18.04.12
00:42
(20) ответ на (19)
23 155153144627
 
18.04.12
01:06
program one;
var i: byte:
   s: string;
begin
read(i);
s:=str(i);
writeln("первая цифра = " + s[1]);
writeln("вторая цифра = " + s[2]);
writeln("третья цифра = " + s[3]);
end
24 Balabass
 
18.04.12
03:12
(23) Мы подобным способом написали в универе калькулятор.
Все сидели кнопки рисовали, функции делали.
А мы 2 текстовых поля на форму вбабахали и 4 кнопки со знаками)))