Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.05.2014, 08:39
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию

Сам все же разобрался =) Может надо кому будет
Код:
procedure inputPoly(line: integer; str:string);
var
  i,x,k: integer;
  s:string;
begin
  //обнуляем массив перед записью
  for i:=0 to maxpower do
    koeff[i, line] := 0;

  // обнуляем на всякий случай
  k:=0;
  x:=0;
  s:='';

  //от 1 до длины строки
  for i := 1 to Length(str) do
    //если символ в строке
    case str[i] of
     '0'..'9':
        begin
          //если еще не было Х записываем число в строку
          if x=0
            then s:=s+Str[i];

          // Если был x и ^ тогда
          if (x=1) and (k=1) then
            begin
              //Записываем в массив S в строку номером = степени
              koeff[strtoint(str[i]), line]:= strtoint(s);
              s:='';
              x:=0;
              k:=0;
            end;

         // Если конец строки записываем число
         if (i=Length(str))
           then koeff[0, line]:= strtoint(s);
        end;
     'x','X':
       begin
         //встретили x
         x:=1;
         // если просто x или -x добавляем 1
         if (s='') or (s='-')
           then s:=s+'1';

         // Если x последний в строке
         if i=Length(str)
           then
             begin
               koeff[1, line]:= strtoint(s);
               s:='';
               x:=0;
               k:=0;
             end;
       end;
     '^':
       begin
         //Встретили ^
         k:=1;
       end;
     '+','-':
       begin
         // Если был x но небыло ^
         if (x=1) and (k=0)
           then
             begin
               koeff[1, line]:= strtoint(s);
               s:='';
               x:=0;
               k:=0;
             end;

         // Если минус записываем в строку
         if (str[i]='-')
           then s:=s+Str[i];
       end;
    end;
end;
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:41.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter