Курсовая работа: Строение идеалов полукольца натуральных чисел
list := TStringList.Create; //создаем список list
//в нем будут хранится коэффициенты, полученные в результате разбиения строки
//с помощью процедуры extractStrings (разделителем будет ',')
extractStrings([','], [], PChar(ss), list);
KolObraz := list.Count; //количество переменных
masA := VarArrayCreate([1,KolObraz,1,2], varInteger); //создание двумерного массива
for i := 1 to KolObraz do
masA[i,1] := StrToInt(list.Strings[i-1]);
list.Free;
SORT;
ss := '';
for i := 1 to KolObraz do ss := ss + ' ' + IntToStr(masA[i,1]);
memo.Items.Add('ИСХОДНАЯ СИСТЕМА ОБРАЗУЮЩИХ В ПОРЯДКЕ ВОЗРАСТАНИЯ:');
memo.Items.Add(ss);
memo.Items.Add('');
memo.Items.Add('ЛИНЕЙНО ЗАВИСИМЫЕ ЭЛЕМЕНТЫ СИСТЕМЫ ОБРАЗУЮЩИХ:');
l := 0; i := 1;
while i <= KolObraz-l do begin
p := false;
Lin(1, 0, masA[i,1], p, i-1);
//если p = true то выводим линейную комбинацию и удаяем этот элемент из массива
ifpthenbegin
//вывод разложения элемента на линейную комбинацию
ss := IntToStr(masA[i,1]) + ' = ';
if i = 2 then ss := ss + IntToStr(masA[i-1,2]) + '*' + IntToStr(masA[i-1,1])
else begin
for j := 1 to i-2 do ss := ss + IntToStr(masA[j,2]) + '*' + IntToStr(masA[j,1]) + ' + ';
ss := ss + IntToStr(masA[i-1,2]) + '*' + IntToStr(masA[i-1,1]);
end;