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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2017, 19:05   #1
akrills
Новичок
Джуниор
 
Регистрация: 15.10.2017
Сообщений: 1
По умолчанию Исправьте ошибку в моей программе

var st,str:string;
i,summ,b,f,a:integer;
begin
readln(str);
i:=1;
while str[i]<>'=' do begin
while str[i] in ['0'..'9'] do begin
st:=st+str[i];
i:=i+1;
end;
Val(st,f,a);
if str[i] in ['+'] then summ:=summ+f
else if str[i] in ['-'] then summ:=summ-f;
delete(str,0,i);
i:=1;
end;
writeln(summ);
end.

Пояснения.
Программа должна выводить решение простейших выражений ( 10+23-42+22-2+117=), в конце которых должно быть равно.
Я вроде написал, но программа зацикливается. Где я ошибся то?
akrills вне форума Ответить с цитированием
Старый 15.10.2017, 20:14   #2
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

Код:
  //readln(str);
  str := '10+23-42+22-2+117=';
  while str <> '' do 
  begin
    i := 1;
    st:='';
    while str[i] in ['0'..'9'] do 
    begin
      st := st + str[i];
      i := i + 1;
    end;
    Val(st, f, a);    
    case str[i] of
      '+': summ := summ + f;
      '-': summ := summ - f;
    end;
    delete(str, 1, i);    
  end;
  writeln(summ);
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с двумерным массивом(исправьте мою ошибку в программе) Fredoom Паскаль, Turbo Pascal, PascalABC.NET 4 11.11.2015 23:03
Помогите с одномерным массивом(исправьте мою ошибку в программе) Fredoom Паскаль, Turbo Pascal, PascalABC.NET 6 11.11.2015 17:53
Исправьте ошибку в программе xxxartikxxx Паскаль, Turbo Pascal, PascalABC.NET 5 26.11.2012 07:02
исправьте ошибку в программе Tolian92 Помощь студентам 0 20.05.2012 12:38
прокси в моей программе SHEI'TI Работа с сетью в Delphi 1 18.11.2006 19:11