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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2012, 15:38   #1
eduard.80@mail.ru
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 15
По умолчанию Турбопаскаль. Функции.

Задача такова: 6. Описати функцію f(x) – число, яке складається з цифр, з яких починається слово х. Наприклад: f(’23 жовтня’)=23; f(’січень 1998’)=0. Скласти програму яка друкує числа, з яких починається слово в послідовності слів.
Подскажите, пожалуйста, почему не работает функция? Когда простой программой пишу - всё получается(((
код:
Код:
program LAB626;
        var s:string;
        function cifra(n:string):string;
                 var i:integer;
                     y:string;
                 begin
                 y:='';
                 readln(n);
                 for i:=1 to length(n) do
                   if n[i] in ['0'..'9']  then
                   y:=y+n[i];
                   cifra:=y;
                 end;
        begin
        writeln ('Введите строку');
        readln(s);
        cifra(s);
        writeln(cifra(s));
        readln;
        end.
eduard.80@mail.ru вне форума Ответить с цитированием
Старый 15.01.2012, 15:47   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
function cifra(n:string):string;
                 var i:integer;
                     y:string;
                 begin
                 for i:=1 to length(n) do
                   if n[i] in ['0'..'9']  then
                   y:=y+n[i];
                   cifra:=y;
                 end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 15.01.2012, 16:02   #3
eduard.80@mail.ru
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 15
По умолчанию

Спасибо, Mad_Cat, но всё равно чего то не работает, выводит кучу иероглифов...
eduard.80@mail.ru вне форума Ответить с цитированием
Старый 15.01.2012, 17:53   #4
eduard.80@mail.ru
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 15
По умолчанию

Код:
program LAB626;
        var s:string;
        function cifra(n:string):string;
                 var i:integer;
                     y:string;
                 begin
                 y:='';
               
                 for i:=1 to length(n) do
                   if n[i] in ['0'..'9']  then
                   y:=y+n[i];
                   cifra:=y;
                 end;
        begin
        writeln ('Введите строку');
        readln(s);
        cifra(s);
        writeln(cifra(s));
        readln;
        end.
вот в таком виде работает)))
eduard.80@mail.ru вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Турбопаскаль a.n.o.n.i.m Фриланс 1 27.11.2011 15:06
турбопаскаль mashkecha Паскаль, Turbo Pascal, PascalABC.NET 1 13.10.2011 22:56
турбопаскаль masterlomaster Фриланс 5 04.04.2011 20:14
турбопаскаль Kassbohrer Помощь студентам 6 21.10.2010 16:50
Задачи на ТурбоПаскаль Enyasha Помощь студентам 11 26.05.2009 21:03