Вопрос № 87380: Доброго времени суток господа! Не могли бы помочь мне с курсовой по Паскалю.
Курсовая работа.
Задание 10.
Из множества прямых М, заданных коэффициентами уравнения Ах+Ву+С=0, сформировать множество прямых Р<=М, расстояние от которы...Вопрос № 87391: Нужна помощь плиз. Лаба: нужно организовать список. затем ввести искомое имя и изменить данные. но у меня после ввода имени почему-то прога вылетает....
Вопрос № 87.380
Доброго времени суток господа! Не могли бы помочь мне с курсовой по Паскалю.
Курсовая работа.
Задание 10.
Из множества прямых М, заданных коэффициентами уравнения Ах+Ву+С=0, сформировать множество прямых Р<=М, расстояние от которых до точки А(Ха, Уа) удовлетворяет определённому условию, и преобразовать множество Р в соответствии с заданным требованием.
1. Упорядочить прямые в порядке возрастания расстояний.
2. Свойства расстояний:
- принадлежит заданному интервалу
- больше заданной величины
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Костенко Дмитрий Александрович!
И с чем именно вам надо помочь? Наверное, с формулой.
Вот расстояние до точки:
|A∙Xa+B∙Ya+C| / √[A²+B²]
Сортировка — примтивнейшее из заданий по информатике. Я думаю, с ней вы и сами справитесь.
--------- Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 17.05.2007, 20:36 Оценка за ответ: 5
Вопрос № 87.391
Нужна помощь плиз. Лаба: нужно организовать список. затем ввести искомое имя и изменить данные. но у меня после ввода имени почему-то прога вылетает.
Приложение:
Отправлен: 17.05.2007, 19:29
Вопрос задал: Beerb0x (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Tribak
Здравствуйте, Beerb0x!
У вас в момент сравнения находиться лишь последнее значение введенных данных, в p^.nazv содержиться последнее внесенное значение, для того чтобы все работало, надо описать цикл по сравнению всего динамического списка с введенным названием
Ответ отправил: Tribak (статус: 1-ый класс)
Ответ отправлен: 17.05.2007, 19:53
Отвечает: Verena
Здравствуйте, Beerb0x!
Немного не поняла Вашу реализацию ввода списка, где хранится ссылка на первый элемент? Или иначе как происодит доступ к элементам после ввода?
В общем, я Вам код немного изменила, добавила цикл поиска и ссылку на первый элемент first, а также корректное удаление.
program x;
type
el = ^tovar;
tovar = record
nazv : string;
cena, cena2 : real;
god, god2 : integer;
kol, kol2 : integer;
next : el;
end;
var
i, n : integer;
p, first : el;
f: file;
str: string;
flag: boolean;
begin
first:=nil; {первый элемент}
flag:= false;
repeat
new (p);
writeln ('vvedite Naimenovanie tovara');
readln (p^.nazv);
if length (p^.nazv)<>0 then
begin
writeln ('God vypuska - '); readln (p^.god);
writeln ('Cena - '); readln (p^.cena);
writeln ('Kolichestvo - '); readln (p^.kol);
p^.next:=nil;
if flag then begin first^.next:= p; flag:= false; end; {если текущий - второй, устанавливаем ссылку first^.next на него}
if first=nil then begin first:= p; flag:=true; end; {если текущий - первый, то сохраняем ссылку на него, делаем пометку, что следующий - второй}
p:= p^.next;
end;
until length (p^.nazv)=0;
write('vvedite Naimenovanie tovara: '); readln(str);
p:= first; {начинаем поиск от первого}
while (p<>nil) and (not flag) do {пока не конец списка и не найден элемент}
if p^.nazv=str then
begin
writeln;
writeln('Vvedite novye dannye: ');
write('God vypuska: '); readln(p^.god2);
write('Cena: '); readln(p^.cena2);
write('Kolichestvo: '); readln(p^.kol2);
p^.god:=p^.god2; p^.cena:=p^.cena2; p^.kol:= p^.kol2;
Writeln ('Dannye izmeneny');
writeln(p^.nazv, p^.god, p^.cena, p^.kol);
flag:= true;
end else p:=p^.next;
if not flag then writeln ('Такого элемента нет!');
while first<>nil do {удаление ВСЕГО списка}
begin
p:= first;
first:= first^.next;
dispose (p);
end;
end.
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 17.05.2007, 20:47