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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2012, 20:46   #1
АлексВ
 
Регистрация: 18.05.2012
Сообщений: 6
По умолчанию Перевод массива string в массив real/integer

Здраствуйте! Мне нужно разбить цифры в строке string на элементы масива string и перевести этот масив в масив real, во втором почему-то выбивает ошибку. Помогите ее найти и исправить, пожалуйста.
Код:
program transform;
uses crt;
var
s: string;
i,j,k,o: integer;
C: array [1..5] of string;
L: array [1..5] of real;
begin
writeln ('Input string');
readln (s);
j:=1;
for i:=1 to length(s) do
begin
C[j]:= C[j] + s[i];
if s[i]=' ' then
   begin
   j:=j+1;
   end;
end;

writeln (s);
for k:=1 to 5 do
writeln (C[k]);
o:=StrToInt (C[k]);
L[k]:=o;
writeln (L[k]);
readln;
end.
АлексВ вне форума Ответить с цитированием
Старый 18.05.2012, 20:51   #2
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
Радость

Цитата:
Сообщение от АлексВ Посмотреть сообщение
Здраствуйте! Мне нужно разбить цифры в строке string на элементы масива string и перевести этот масив в масив real, во втором почему-то выбивает ошибку. Помогите ее найти и исправить, пожалуйста.
Код:
program transform;
uses crt;
var
s: string;
i,j,k,o: integer;
C: array [1..5] of string;
L: array [1..5] of real;
begin
writeln ('Input string');
readln (s);
j:=1;
for i:=1 to length(s) do
begin
C[j]:= C[j] + s[i];
if s[i]=' ' then
   begin
   j:=j+1;
   end;
end;

writeln (s);
for k:=1 to 5 do
writeln (C[k]);
o:=StrToInt (C[k]);
L[k]:=o;
writeln (L[k]);
readln;
end.


Код:
const ncount=100;
type
TArrayReal = array [1..ncount] of real;


Procedure CreateArray(s:string;var a:TarrayReal;Ch:Char);
var s2:string;
    x:integer;
    l,dx:integer;
begin
  l:=0;
  for X:=1 to length(s) do
    if (s[x]=ch) or (length(s)=x) then begin
    if length(s)=x then if s[x]<>ch then s2:=s2+s[x];
    l:=l+1;
    a[l]:=StrTofloat(s2);
    Writeln(a[l]);
    s2:='';
    
    end
    else s2:=s2+s[x];
end;
var b:TarrayReal;
begin
  CreateArray('1 2 3.2 5 6 7 8 9 10 11 12 13 15.5',b,' ');
end.
попробуй так
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума Ответить с цитированием
Старый 18.05.2012, 21:53   #3
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Пишете о переводе в real, а пытаетесь перевести в integer.
s-andriano вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Real, Integer jawa250t Общие вопросы Delphi 4 28.01.2011 14:19
Матрица. Ввод данных в integer, вывод в real КуКа Помощь студентам 9 19.12.2010 17:08
Перевод string в integer Smerch66 Помощь студентам 7 28.03.2010 20:42
как перевести из integer в real(и обратно), и из real в string(и обратно) Ga-sergey Общие вопросы Delphi 2 08.06.2007 21:13
Конвертация real > integer Viteef Общие вопросы Delphi 2 03.05.2007 18:45