Показать сообщение отдельно

  #26  
Старый 20.06.2007, 17:57
Exile1985
Участник форума
Регистрация: 10.08.2006
Сообщений: 147
Провел на форуме:
404152

Репутация: 94
По умолчанию

Цитата:
Сообщение от Fire3d  
Просто тем способом каторый netman написал.... Я не проходил ))) Т.е. не учили )))
в чистом паскале я не особо но насколько я заню проще было бы сделать так:

Код:
var s:string;
    a,b,c,posit:integer;
begin
      read(s);
      posit:=pos('+',s);
      a:=val(copy(s,1,posit-1));
      b:=val(copy(s,posit+1,Length(s)));
      c:=a+b;
      write('=',c);
      readln;
end.
val - преобразует строку вчисло
copy - копирует заданную часть строки, формат записи такой copy(строка из которой копируем, символ с которого начинаем копировать, символ по который копируем)

но у NetMen ошибка в коде, в этой строке:

b:=Str2Int(copy(s,posit+1,length(s)-posit+1));

а именно тут length(s)-posit+1 он от общей длинны строки отнимает высчитанную позицию знака +, это не верно а вдруг будет такая запись 15+4
тогда получится 4-3 т.е. такая запись b:=Str2Int(copy(s,posit+1,1);
где 4 - длинна строки, а 3 - позиция знака +.

провильно буит так: b:=Str2Int(copy(s,posit+1,Length(s)));

Последний раз редактировалось Exile1985; 20.06.2007 в 18:00..
 
Ответить с цитированием