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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.12.2012, 17:12   #1
H4t
Пользователь
 
Регистрация: 14.11.2012
Сообщений: 31
По умолчанию Записи, массивы записей, сортировка.

Добрый день, требуется помощь по следующей задаче:
Описать, используя структуру данных запись, почтовую сортировку (город, улица, дом, квартира, фамилия, ценность). Определить:
1) сколько и куда (список городов) отправлено посылок ценностью выше 100 000 рублей;
2) вывести данные о получателе по введенной пользователем фамилии.
Что имеется на данный момент (код не мой, но написано весьма читабельно, не разобрался толком с записями, а время поджимает, поэтому и прошу помощи):
Код:
uses crt;
const
  nmax=100;
type
  post=record
      town: string;
      strt: string;
      nomb: integer;
      name: string;
      pric: integer;
    end;
var
  a: array[1..nmax] of post;
  b: array[1..nmax] of string;
  i,j,n,k,sum,m,p,q,pos:integer;
begin
  {ввод данных}
  writeln('Сколько посылок отправлено? ');
  readln(n);
  for i:=1 to n do
  begin
    writeln('Данные по ',i,'-й посылке:');
    with a[i] do
    begin
      write('  Город: ');
      readln(town);
      write('  Улица: ');
      readln(strt);
      repeat
        write('  Квартира: ');
        readln(nomb);
      until nomb>0;
      write('  Кому: ');
      readln(name);
      repeat
        write('  Ценность: ');
        readln(pric);
      until pric>0;
    end;
  end;

  for i:=1 to n do
    b[i]:=a[i].town;

  {создаем массив b - список городов}
  m:=n; i:=1;
  while i<=m do
  begin
    j:=i+1;
    while j<=m do
    begin
      if b[j]=b[i] then
      begin
        for k:=j to m-1 do
        b[k]:=b[k+1];
        m:=m-1;
      end
      else j:=j+1;
    end;
    i:=i+1;
  end;

  {считаем суммы > 100000}
  for i:=1 to m do
  begin
    sum:=0;
    pos:=0;
    for j:=1 to n do
    begin
      if a[j].town=b[i] then begin
        if a[j].pric>100000 then begin
        sum:=sum+a[j].pric;
        pos:=pos+1;
        end;
      end;
    end;
    if sum>100000 then
      writeln('В город ',b[i],' ушло ',pos, ' посылок на ',sum,' рублей');
  end;
  readln;

end.
Пока скидывал чужой код с кучей вопросов, почти все сам решил, вот что осталось
Нужно выполнить вывод информации о человеке по введенной фамилии, т.е. вывести город, улицу, дом и квартиру. (Понимаю как это будет выполняться, но не очень хорошо разобрался с самими записями, поэтому проблемка..)
Спасибо заранее.

Последний раз редактировалось H4t; 26.12.2012 в 17:47.
H4t вне форума
Старый 27.12.2012, 17:26   #2
H4t
Пользователь
 
Регистрация: 14.11.2012
Сообщений: 31
По умолчанию

Можно закрывать, задача совсем простой оказалась.
H4t вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сортировка записей Voldemort93 БД в Delphi 2 17.10.2012 22:56
Сортировка массива записей Юляшко Паскаль, Turbo Pascal, PascalABC.NET 5 28.04.2010 13:57
Сортировка записей, Pascal leench Помощь студентам 5 16.04.2009 22:10
Сортировка записей. Whiplash Паскаль, Turbo Pascal, PascalABC.NET 3 17.12.2008 21:39