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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2010, 01:23   #1
angel#
Новичок
Джуниор
 
Регистрация: 29.04.2010
Сообщений: 2
Восклицание записи

Доброй ночи,уважаемые!Помогите пожалуйста с кодом!
Есть вот такое задание:

{Определите запись для хранения информации об адресе проживания: название улицы, номер дома, номер квартиры, этаж.
Напишите
– процедуру вывода одной записи print,
– процедуру вывода массива записей print1,
– процедуру ввода массива записей enter,
– процедуру, определяющую запись с наибольшим номером квартиры среди всех адресов населённого пункта (соответствующая запись должна быть выходным параметром процедуры),
– процедуру формирования по заданному массиву записей нового массива, содержащего адреса с названием заданной улицы,
– функцию, определяющую количество жителей первого этажа,
– процедуру сортировки массива записей по каждому полю записи.
Напишите клиентскую программу, содержащую вызов всех процедур и функций}

Начал писать,но возникли трудности,вот фрагмент кода:
const
nm = 100;

type
oneinfo = record
name: string[20];
nomerd: real;
nomerkv:integer;
end;
tkey = (kname, knomerd, knomerkv);
base = array [1..nm] of oneinfo;

var
b, a: base;
y, m, k, n: integer;
key: tkey;
ssmax: oneinfo ;



procedure enter(var n: integer; var a: base);//Процедура ввода
var
i, nomerd, nomerkv: integer;
name: string;
begin
writeln('Ввод бвзы данных');
writeln('№', 1);
writeln('Название улицы:');
readln(a[1].name);
n := 1;
while a[n].name <> '*' do
begin
writeln('номер дома');
readln(a[n].nomerd);
writeln('номер квартиры');
readln(a[n].nomerkv);
writeln;
n := n + 1;
writeln('Название улицы:');
readln(a[n].name);
end;
n := n - 1;
end;

procedure print(const z: oneinfo);
var
i: integer;
begin
write(z.name);
for i := length(z.name) + 1 to 20 do
write(' ');
with a do
writeln('Название - ', z.name, ';', 'номер дома - ', z.nomerd, ';', 'номер квартиры - ', z.nomerkv);
end;

procedure print1(n: integer; const a: base);//Процедура вывода всех записей
var
i: integer;
begin
for i := 1 to n do
print(a[i]);
end;


procedure samax(n: integer; a: base; var k: integer; var smax: oneinfo) ;//процедура, определяет запись с наибольшим номером квартиры
var
i: integer;
begin
smax := a[1];
for i := 2 to n do
if a[i].nomerkv > smax.nomerkv then
begin
smax := a[i];
end;
end;

Помогите пожауйста описать:
1)функцию, определяющую количество жителей первого этажа
2)процедуру формирования по заданному массиву записей нового массива, содержащего адреса с названием заданной улицы

Очень за это буду вам благодарен!!!!
Извините, что отнимаю у вас ваше время!
angel# вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
записи((( diller89 Помощь студентам 2 25.04.2010 18:32
Записи StudeHt Паскаль, Turbo Pascal, PascalABC.NET 0 10.05.2009 13:52
Записи triasoft Паскаль, Turbo Pascal, PascalABC.NET 0 10.04.2009 19:00
записи paladinn Помощь студентам 1 14.01.2009 20:23
Записи Rio309 Помощь студентам 1 15.03.2008 22:23