Работа с текстом

C++ Delphi pascal паскаль дельфи

text:="123,4567,89,";
как сделать так чтобы каждое число записалось в массив? и на выходе было:
mas[1]:=123;
mas[2]:=4567;
mas[3];=89;
помогите пожалуйста
Ответы:
sscanf попробуй (C++)
или TRegExpr (Delphi)
http://delphibasics.ru/navSystem.php
Ищите там функции Pos, Copy, Delete и т д.
Використовувати масиви для запам'ятовування рядків тупо - для цього є StringList (в нього є метод StringList.ToStringArray якщо треба масив)
with TStringList.Create do
try
 Delimiter := ',';
 DelimitedText := '123,4567,89';
 // массив тут как бы уже не нужен, получить определённую строку можно через свойство Strings[x]
 // но если всё-таки нужен массив, то:
 // for x := 0 to Count - 1 do mas[x] := Strings[x];
finally
 Free;
end;
var
 i, n, Code: Integer;
 s, x: String;
 a: Array[Byte] of Integer;
begin
 s := '1,2,3,';
 for i := 1 to Length(s) do
   if (s[i] <> ',') then
     x := x + s[i]
   else
   begin
     Inc(n);
     Val(x, a[n], Code);
     x := '';
   end;
 i := 0;
 while (i < n) do
 begin
   Inc(i);
   WriteLn('a[', i, '] = ', a[i]);
 end;
 ReadLn;
end.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.