Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lazarus
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
edukra
507 / 479 / 179
Регистрация: 24.01.2012
Сообщений: 1,160
03.05.2017, 09:07 0

Setlength

03.05.2017, 09:07. Просмотров 449. Ответов 17
Метки (Все метки)

Ответ

Это с минимальной правкой
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
30
31
32
procedure obraz (var _t: text; var _amount, _n:integer; var _mas: MyArray; var _str:string);
var
   i:integer;
   k,err:integer;
 
begin
_amount:=0;
_n:=0;  // то, о чем я писал
while not EOF(_t) do
  begin
     read(_t,_str);
 
 for i:=1 to length(_str) do
     begin
       if _str[i] in ['0'..'9'] then
       begin
        setlength(_mas,n+1);
        _mas[_n]:=ord(_str[i]);
        inc(_n);
       end;
 
     end;
 readln(_t);
 end;
close (_t);
for i:=0 to _n-1 do //здесь от 0 до _n-1
begin
 
val(chr(_mas[i]),k,err);
_amount:= _amount+ k ;
end;
end;
а вообще, если в задании не было указано использовать массив, то эту процедуру можно сократить
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure obraz (var _t: text; var _amount, _n:integer);
var
   i:integer;
   k,err:integer;
   s:string;
begin
  _amount:=0;
  _n:=0;
  while not EOF(_t) do
     begin
     readln(_t,s);
     for i:=1 to length(s) do
     begin
       if s[i] in ['0'..'9'] then
       begin
         _amount:=_amount+ord(s[i])-48;
         inc(_n);
       end;
     end;
   end;
  close (_t);
end;


Вернуться к обсуждению:
Setlength
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2017, 09:07

Incompatible types в функции SetLength
Добрый вечер. У меня в программе есть собственная функция, где применяется...

Setlength
Здравствуйте, Друзья! Помогите решить данную проблему, когда допустим...

Аналог SetLength
Подскажите пожалуйста, есть ли в Шарпе аналог SetLength Delphi? (Задача на...

0
Другие темы раздела
Lazarus Две строки рядом выдают разные значения одной переменной http://www.cyberforum.ru/lazarus/thread1972000.html
Такая проблема scNaDelenie:=arrscNaDelenie; Memo1.Lines.Insert(endSloiSTR+1,'M106 S'+IntToStr(trunc(scNaDelenie.scV)));/////////////////////////// Memo2.Lines.Append('M106...
Lazarus Якори Доброго времени суток. Я изменял опции прикрепления границ формы, и вышло такое сообщение. При чем у этой же формы эти же настройки не раз менял. Что это?) http://www.cyberforum.ru/lazarus/thread1971723.html
Сумма всех согласных и знаков препинания Lazarus
Дано предложение на английском языке. Найти множество согласных букв и знаков препинания, а так же пересечение этих множеств. Напечатать полученные множества. Помогите написать програмку в Лазарусе.
Lazarus Оставить одну цифру, после запятой, в вещественном числе
Скажите пожалуйста как оставить одну цифру в вещественном числе, после запятой, если есть команда. Если команды нет такой, то скажите что нету её. Заранее спасибо.
Lazarus Интервальный тип http://www.cyberforum.ru/lazarus/thread1971451.html
Первый вопрос- можно-ли интервальный тип описывать переменными типа Single? Если да, то вопрос второй- не сыграет-ли отрицательную роль вот такой фактор formatsettings.DecimalSeparator:='.'?...
Lazarus Ввести класс для работы с объектом «полином» Помогите продолжить,пожалуйста. Ввести класс для работы с объектом «полином». Реализовать следующие операции: a. сложение (вычитание) двух полиномов; b. умножение двух полиномов; c. умножение... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru