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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2010, 07:25   #1
mifka72
Пользователь
 
Аватар для mifka72
 
Регистрация: 25.12.2009
Сообщений: 17
Стрелка Разложить слово!

Всем привет. Цель такая: нужно переменную (будь то int либо str) разложить по знакам.
Пример: если A=1234 тогда
a1=1; a2=2; a3=3; a4=4.
mifka72 вне форума Ответить с цитированием
Старый 05.03.2010, 08:20   #2
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

какой язык???
какого пита ты вводишь переменную??
Код:
var S:???;
....
begin
readln(S);
....
end;
если S:srting то все просто:
Код:
for i:=1 to Length(S) do
 a[i]:=S[i];
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Старый 05.03.2010, 08:31   #3
Google2010
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 316
По умолчанию

ну а если s integer;
Код:
k:=0;
while s<>0 do
begin
inc(k);
a[k]:=s mod 10;
s:=s div 10;
end;
Google2010 вне форума Ответить с цитированием
Старый 05.03.2010, 08:56   #4
mifka72
Пользователь
 
Аватар для mifka72
 
Регистрация: 25.12.2009
Сообщений: 17
По умолчанию

пишу на дельфи, конкректно нужно для integer, кол-во знаков постоянно 8 (двоичное число)
mifka72 вне форума Ответить с цитированием
Старый 05.03.2010, 08:58   #5
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

ну тогда можешь это число переводить в строку ( S:=IntToStr(число) ) и делать так:
Код:
for i:=1 to Length(S) do
 a[i]:=S[i];
но в этом случае массив А будет типа Char, и надо будет обратно переводить в число (StrToInt)

либо сразу вот так:
Код:
k:=0;
while s<>0 do
begin
inc(k);
a[k]:=s mod 10;
s:=s div 10;
end;
Жми на весы!!!

Последний раз редактировалось Chudo4258; 05.03.2010 в 09:01.
Chudo4258 вне форума Ответить с цитированием
Старый 05.03.2010, 08:59   #6
Google2010
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 316
По умолчанию

Цитата:
конкректно нужно для integer, кол-во знаков постоянно 8 (двоичное число)
а с чего это двоичное число да типом integer ?
и еще если воспользоваться кодом из поста 3
для того чтобы было a1:=1 a2:=2 a3:=3 a4:=4
надо
перевернуть массив
Код:
for i:=1 to k div 2 do
begin
a[i]:=a[i]+a[k-i+1];
a[k-i+1]:=a[i]-a[k-i+1];
a[i]:=a[i]-a[k-i+1];
end;

Последний раз редактировалось Google2010; 05.03.2010 в 09:05.
Google2010 вне форума Ответить с цитированием
Старый 05.03.2010, 09:03   #7
mifka72
Пользователь
 
Аватар для mifka72
 
Регистрация: 25.12.2009
Сообщений: 17
По умолчанию

Код:
var
s:integer;
begin
s:=10010110;
end;
вот от сюда, само число потом переводится в 10-чное и отсылается драйверу
в моём случае производится чтение с драйвера, перевожу в 2-ичную и нужно разложить на отдельные цифры
mifka72 вне форума Ответить с цитированием
Старый 05.03.2010, 11:07   #8
mifka72
Пользователь
 
Аватар для mifka72
 
Регистрация: 25.12.2009
Сообщений: 17
По умолчанию

увидел Div и вспомнил:
Код:
var
s,i,n:integer;
begin
s:=edit1.text;
for i:=1 to 8 do //где место 8 может быть Length(inttostr(s))
n:=s mod 10;
s:=s div 10;

showmessage(inttostr(n));//числа будут выводится в обратном порядке
end;                      //если в Edit'е было 123, то результат будет: 3, 2, 1
можно использовать как вариант, мб длинноват
mifka72 вне форума Ответить с цитированием
Старый 05.03.2010, 14:02   #9
mifka72
Пользователь
 
Аватар для mifka72
 
Регистрация: 25.12.2009
Сообщений: 17
По умолчанию

Всем спасибо, по этой теме вопросов больше нет
mifka72 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разложить число на цифры Dog Помощь студентам 10 09.05.2011 12:16
Разложить секунды на чч:мм:cc Anatol_rus Общие вопросы Delphi 2 03.10.2009 12:56
Разложить строку в массив Xcopy Общие вопросы Delphi 16 17.09.2009 09:04
Разложить Сапёра Arigato Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 23.11.2008 15:45
Разложить на сумму наминалов Иллидан Паскаль, Turbo Pascal, PascalABC.NET 1 17.05.2008 15:37