Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Строковые переменные

Автор: kamentaru 26.10.2006 10:55

Задача:Задан массив букв и чисел. Найти произведение всех чисел заданного массива.
Перерыла почти весь поиск. Не знаю как отсортировать буквы и цифры от массива. Помогите решить.

Автор: klem4 26.10.2006 10:59

а)

if s[i] in ['0'..'9'] then begin
val(s[i], x, e);
p := p * x;
end;


+ http://forum.pascal.net.ru/index.php?showtopic=2361
б) Не сменишь аватар придется тебя забанить.

Автор: volvo 26.10.2006 13:14

Цитата
Задан массив букв и чисел
Как именно задан? Формально вот ЭТО - тоже массив букв и чисел (а не цифр), но при таком определении вышеприведенный код даже не откомпилируется:
Const
arr: array[1 .. 5] of string = (
'a', '16', '-34', 'e', 'm'
);

Автор: klem4 26.10.2006 18:08

Цитата
чисел, а не цифр


Да спросони ошибся, как из дома вышел сразу понял что не то написал ;)

зы аватар уже лучьше smile.gif

Автор: мисс_граффити 26.10.2006 18:56

 val(s[i],x,e);
if e=0 then
p:=p*x

так можно?

Автор: klem4 26.10.2006 19:09

Да можно и как я написал, но и твой и мой варианты годятся только для случая, когда массив задан так, как показал Volvo, а если это просто строка символов, то все будет немного подругому, в общем ждем автора ..

Автор: мисс_граффити 26.10.2006 20:39

а разве твой сочтет, что '16' in ['0'..'9']? а '-34'?

Автор: klem4 26.10.2006 20:41

;) Нет конечно
Просто сегодня мозг отдает пальцам команды печатть бред)
виноват smile.gif