0 / 0 / 0
Регистрация: 15.10.2017
Сообщений: 4

Исправьте ошибку в моей программе

15.10.2017, 18:27. Показов 976. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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=), в конце которых должно быть равно.
Я вроде написал, но программа зацикливается. Где я ошибся то?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2017, 18:27
Ответы с готовыми решениями:

Пожалуйста, исправьте ошибки в программе
var n:integer; a:array of string; //Переменная типа string, который будет пройден в след. уроке buf: string; i,j:integer; ...

исправьте ошибку
program dvoichnyi; uses crt; var i:integer; a:array of integer; b:array of string; s,d:string; k:integer; begin clrscr; ...

Исправьте ошибку.
Уважаемые! Помогите пожалуйста исправить ошибку в программе. uses CRT; const size=8; type bday=Array of integer; ...

2
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.10.2017, 19:18
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var st,str:string;
    i,j,summ:integer;
    c:char;
begin
writeln('Введите строку из натуральных чисел, разделенных знаками + и -, в конце знак =');
readln(str);
str:=' '+str; //добавим пробел в начало для удобства
i:=2;
while i<=length(str) do
//если цифра, а перед ней не цифра, новое число
if (str[i] in ['0'..'9'])and not(str[i-1] in ['0'..'9']) then
 begin
  if i=2 then c:='+' else c:=str[i-1];//если первое, то +, иначе знак который перед числом
  st:=''; //составляем число
  j:=i;
  while(str[j] in ['0'..'9']) do
   begin
    st:=st+str[j];
    j:=j+1;
   end;
  if c='+' then summ:=summ+strtoint(st)
  else if c='-' then summ:=summ-strtoint(st);
  i:=i+length(st)+1;//перепрыгиваем
 end;
str:=str+inttostr(summ);
delete(str,1,1);//удалим пробел из начала
cls; //очистим окно
writeln(str);
end.
0
0 / 0 / 0
Регистрация: 15.10.2017
Сообщений: 4
15.10.2017, 19:29  [ТС]
спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.10.2017, 19:29
Помогаю со студенческими работами здесь

Исправьте ошибку
program notebook; USES CRT; type NOTE = record fam:string; im:string; telefon:string; god:array of word; end; const n=1;

исправьте ошибку
исправьте ошибку - не может найти указанный путь. И вообще эта программа считается базой данных? program Phonebook; uses Crt; type...

Исправьте ошибку
Program Z; Var z1, z2, x:real; Begin Writeln('BBeDuTE x'); Readln(x); ...

исправьте ошибку
Если в матрице А нет элементов модуль которых отличается от заданной величины Р менее, чем на заданную величину Е, найти для каждой ее...

Исправьте ошибку!
Всем привет , посмотрите что не так, 207 ошибку выдает. Program Zadanie; Var w,y,x,b,a:real; Begin; Writeln('BBDuTe a'); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru