Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2012, 16:30   #1
Вероника92
Пользователь
 
Регистрация: 28.05.2012
Сообщений: 35
По умолчанию Найти компанию(по заданным условиям)ООП

По заданной атс найти и напечатать компанию,в которой больше всего абонентов принадлежащих этой атс. Пыталась сделать сама,но выдает ошибку в runtime.....полагаю ошибка в Un_list1 в процедуре searchcompany
Вложения
Тип файла: zip Атс.zip (47.5 Кб, 11 просмотров)
Вероника92 вне форума Ответить с цитированием
Старый 30.12.2012, 17:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

У тебя вот тут:
Код:
  function searchcompany (var L:TListK;ats:string):TListK; //поиск компании c максимальным числом абонентов по заданной атс
  var p,k:TListK;
      max:Integer;
  begin
    p:=L;
    max:=p^.company.numberabonent(ats);
company пустая.

P.S. Как по мне код где смешаны указатели и объекты не годится даже на контрольную. Я бы его переписал, избавившись от указателей.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.12.2012, 18:22   #3
Вероника92
Пользователь
 
Регистрация: 28.05.2012
Сообщений: 35
По умолчанию

как это исправить?я что-то запуталась
Вероника92 вне форума Ответить с цитированием
Старый 30.12.2012, 18:38   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Честно пытался твой код понять. Не удалось.
ИМХО с нуля все переписать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.12.2012, 18:55   #5
Вероника92
Пользователь
 
Регистрация: 28.05.2012
Сообщений: 35
По умолчанию

если не принимать особо мой код во внимание,то как должна выглядеть функция поиска компании c максимальным числом абонентов по заданной атс?......именно до этого этапа все отлично работало
Вероника92 вне форума Ответить с цитированием
Старый 30.12.2012, 19:44   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Работало оно у тебя случайно, только благодаря отсутствию проверки компании.
Если я правильно понял ты не задаешь первому элементу списка никакой компании:
Цитата:
procedure InitLL (var L:TListK);
begin
new(L);
L^.next:=nil
end;
Зато в коде ты у этого элемента обязательно пытаешся выяснить компанию.
Цитата:
function searchcompany (var L:TListK;ats:string):TListK; //поиск компании c максимальным числом абонентов по заданной атс
var p,k:TListK;
max:Integer;
begin
p:=L;
max:=p^.company.numberabonent(ats);
Естесственно вылезает ошибка.

Максимум чем могу помочь:
Код:
  function searchcompany (var L:TListK;ats:string):TListK; //поиск компании c максимальным числом абонентов по заданной атс
  var p,k:TListK;
      max:Integer;
  begin
    p:=L^.next; k:=p;
    max:=p^.company.numberabonent(ats);
    while (p^.next <> nil)  do  begin
    if max<p^.Company.numberabonent(ats) then
                                               begin
                                                 max:=p^.Company.numberabonent(ats);
                                                 k:=p
                                               end;
    p:= p^.next;
    end;
    result:=k
  end;
Однако мое мнение - код фтопку. Больше багов чем КПД от такого симбиоза указателей. Править его трудно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
типизированные файлы-найти параллельные прямые по заданным коэффициентам Juliks Паскаль, Turbo Pascal, PascalABC.NET 3 28.12.2012 10:02
Работа с записями - ввод информации и формирование списков по заданным условиям (на Pascal) _FENDER_ Помощь студентам 1 10.04.2011 19:16
Поиск значения по строго заданным условиям поиска (Excel 2003) Vladsgs Microsoft Office Excel 1 25.05.2010 14:53
Найти сумму и количество элементов с заданным условием saveliev87 Помощь студентам 8 06.01.2010 13:48
Найти на диске файл с заданным именем D1g1T Помощь студентам 9 02.01.2009 21:17