IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> РЕШЕНИЕ СИСТЕМЫ РЕГУЛЯРНЫХ УРАВНЕНИЙ. Не хватает длины string
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 43
Пол: Женский

Репутация: -  1  +


Очень нужна помощь!
Написала программу решения системы регулярных выражений. Как смогла, но зато сама. Возникла проблема при тестировании, когда размерность системы больше трех в результате строка намного больше 255, естественно на экран выдается совсем не то что ожидалось. Я полный ноль в паскале, писала несколько суток, при этом не спала практически, а на днях сдавать. Помогите разобраться, что можно сделать !mol1.gif


--------------------
хороших людей мало... полезных ещё меньше....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Использовать pchar
http://forum.sources.ru/index.php?showtopic=40396

Добавлено через 2 мин.
И тут тоже есть, оказывается
Строки
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 43
Пол: Женский

Репутация: -  1  +


Цитата(Ozzя @ 28.04.2010 20:38) *

Использовать pchar
http://forum.sources.ru/index.php?showtopic=40396

Добавлено через 2 мин.
И тут тоже есть, оказывается
Строки


Ни как не могу понять какие мне нужно сделать изменения что бы перейти на Pchar. cray.gif Пыталась сделать по примеру на ссылках.... не получается.

Вот мои пременные:

type

{urType=array [1..MaxInt div SizeOf(string)] of string;
TurType=^urType;}

reg_ur=record
x:string; {левая часть уравнения Xn}
ur:array [1..100] of string[70]; { коэфиценты уравнения: регулярные выражения, e,0}
size:integer;
end;

var
T,T2:Text;
S,C,st,ct,kt,mt,lt:String;
n,i,j,k,l,h,g:integer;
sis:array[1..8] of reg_ur;



--------------------
хороших людей мало... полезных ещё меньше....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Людмила @ 29.04.2010 0:34) *
Пыталась сделать по примеру на ссылках.... не получается.
Люд, что именно не получается? Чем точнее ты описываешь свою проблему, тем быстрее и лучше тебе ответят.

1. Какой у тебя компилятор? Рекомендую использовать FPC с http://FreePascal.org
2. Для того, чтоб использовать pChar, нужно подключить модуль Strings.
3. Нужно переделать не только сами строки, но и операции со строками.

Начни с ответа на первый вопрос, над остальными подумай.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 43
Пол: Женский

Репутация: -  1  +


Цитата(Lapp @ 29.04.2010 3:18) *

1. Какой у тебя компилятор? Рекомендую использовать FPC с http://FreePascal.org

У меня TP7. FreePascal пробовала установить выдает ошибку. потратила на него пол дня и так и не смогла.

Цитата(Lapp @ 29.04.2010 3:18) *

2. Для того, чтоб использовать pChar, нужно подключить модуль Strings.
3. Нужно переделать не только сами строки, но и операции со строками.

модуль подключала, и операции тоже переделывала, но в результате на экране зюки sad.gif

Проблема в том, что пред написанием программы пытала разобраться с динамическими структурами, но увы не смогла понять как они работают. Решила пойти путем где хоть чуть чуть что то могу сама. При разрядности системы больше двух, количество коэффициентов в уравнениях превышает 255 и естественно в результате часть обрезается. Времени все переделывать нет. Если можно пример объявления моих переменных с учетом нужных изменений?

Сообщение отредактировано: Людмила -


--------------------
хороших людей мало... полезных ещё меньше....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Людмила @ 29.04.2010 1:33) *
можно пример объявления моих переменных с учетом нужных изменений?
Можно, конечно, но это тут не главное и вряд ли поможет. Лучше бы ты привела пару фрагментов с переделками..
Во-первых, скажи точнее, какие именно строки переполняются. Например, у тебя в записи есть массив из string[70] - явно их длины тебе хватает, если ты даже 255 не использовала. Остальное - я же не знаю, какие строки ты как используешь..
По идее, если строка s нужна длиннее, чем 255, то вместо
s: string;
нужно писать
s: pChar;
Вот и все объявление. Ну, помогло тебе оно? Главное не в этом. Главное - в работе с ними.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


> Главное - в работе с ними.

Ага, главный геморрой - в работе с ними. Я как-то попробовал, даже получилось, но нервов на это я потратил немало.
Я бы забил на это и скачал другой компилятор, который умеет работать со строками любой длины (при этом ничего переписывать в коде не надо, если только вы не баловались с S[0]), автоматически выделяя и освобождая для них память.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 43
Пол: Женский

Репутация: -  1  +


Цитата(TarasBer @ 29.04.2010 12:07) *

скачал другой компилятор, который умеет работать со строками любой длины (при этом ничего переписывать в коде не надо

не можете уточнить какой? (что бы переделывать не надо было)


--------------------
хороших людей мало... полезных ещё меньше....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Цитата
не можете уточнить какой? (что бы переделывать не надо было)


Цитата
Рекомендую использовать FPC с http://FreePascal.org


Тип ansistring
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 43
Пол: Женский

Репутация: -  1  +


Цитата(Ozzя @ 29.04.2010 15:18) *

Тип ansistring


Попробовала сделать так, но ситуация не изменилась при разрядности 2 все нормально, а при большем числе X не хватает длины строки. Может надо как ни будь явно указывать максимальную длину?


--------------------
хороших людей мало... полезных ещё меньше....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Может быть уже пора представить программу? Ибо говорить можно сколь угодно долго, но это будет пустой треп, пока не видим кода - "Ошибка в 15-ой строке", и ничего кроме этого сказать нельзя.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Людмила, Вам не кажется, что получается гадание на кофейной гуще? Как-то бы поконкретнее вопрос, что-ли?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 12:58
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name