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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2011, 20:22   #1
phasha
Форумчанин
 
Регистрация: 24.03.2011
Сообщений: 130
Восклицание защита от дурака

не могу сообразить как переделать чтоб работало((
нужно удвоенное число как доказательство что защита работает и переводит в целые числа
program Project2;

Код:
{$APPTYPE CONSOLE}

uses
  SysUtils;
 var n:string;i:Integer;
begin
  Readln(n);
  for i:=1 to length(n)  do begin
  if n[i] = ['0'..'9']   then

     StrToInt(n);
  end;
  Writeln(n*2);
end.

Последний раз редактировалось Stilet; 02.10.2011 в 21:06.
phasha вне форума Ответить с цитированием
Старый 02.10.2011, 20:35   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не понял, что вы хотите сделать. Может быть (раз тут есть цикл) вам надо сохранить все числа, найденные в этой строке, в другую строку (ну или удалить не числа в этой) и уже ее переводить?

Цитата:
StrToInt(n);
Никуда не возвращает результат.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.10.2011, 20:42   #3
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Код:
program Project2;
 {$APPTYPE CONSOLE}
uses
 SysUtils;

 var n:string;
       i:Integer;
 begin
  Readln(n);
  if TryStrToInt(n,i) then
  Writeln(i*2);
 end.
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 02.10.2011, 22:18   #4
phasha
Форумчанин
 
Регистрация: 24.03.2011
Сообщений: 130
По умолчанию

ого)не знал что так можно))спасибо огромное!
phasha вне форума Ответить с цитированием
Старый 03.10.2011, 09:07   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

JUDAS, отличный пример!

phasha
а ещё можно воспользовать классической процедурой VAL:
Код:
var n:string;
    i,k:Integer;
 begin
  Readln(n);
  Val(n, i, k);
  if k=0 then
    Writeln(i*2)
  else WriteLn('error in position ',k);
  Readln
 end.

ДОБАВЛЕНО через несколько минут...

блиин... заглянул я в исходники функции TryStrToInt
догадываетесь, что я там увидел?!

Код:
function TryStrToInt(const S: string; out Value: Integer): Boolean;
var
  E: Integer;
begin
  Val(S, Value, E);
  Result := E = 0;
end;
комментарии, как говорится, излишни....

Последний раз редактировалось Serge_Bliznykov; 03.10.2011 в 09:11.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.10.2011, 11:45   #6
phasha
Форумчанин
 
Регистрация: 24.03.2011
Сообщений: 130
По умолчанию

мда))одно из другого выходит...а эффект один грубо говоря=)
phasha вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита от дурака Ericnex Помощь студентам 2 13.04.2011 18:35
Защита Fezdipekla Microsoft Office Access 1 06.07.2010 18:54
ЗАЩИТА Dimarik Общие вопросы C/C++ 6 26.09.2009 17:35
Защита spein PHP 7 08.05.2009 14:38