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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.11.2012, 20:32   #1
Drago56
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 91
По умолчанию Записи

Помогите вывести списки работников самого большого отдела, т.е отдел в котором находиться больше людей.
Код:
Uses CRT;
Const n=7;
Type Rabotnik=record
     F:string;
     Vozr:byte;
     Adres:string;
     NazvOd:String;
end;

Var mas:array[1..n] of Rabotnik;
  q,j,i:byte;

BEGIN
clrscr;
q:=1;max:=0;
Writeln('Zapolnite iformaciu o Rabotnik');
For i:=1 to n do begin
    Writeln('Rabotnik ',i);
    Write('Vvedite F: ');readln(mas[i].F);
    Write('Vvedite Vozr: ');readln(mas[i].Vozr);
    Write('Vvedite Adres: ');readln(mas[i].Adres);
    Write('Vvedite NazvOd: ');readln(mas[i].NazvOd);
end;
  
END.
Drago56 вне форума
Старый 21.11.2012, 21:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А я бы не так это делал: Две записи. Одна Собственно представляет отдел, вторая работников.
Код:
Type 
Rabotnik=record
     F:string;
     Vozr:byte;
     Adres:string;
end;
Otdel=record
     NazvOd:String;
     Rabotniki:array[1..1000] of Rabotnik;
     Count:Integer;
end;

var Otdely:Array[1..10] of Otdel;
И процедуры:
Внесение

Код:
procedure Add(Otdel:String;Rab:Rabotnik);
var i:integer;ok:boolean;
begin
 ok:=false;
 for i:=1 to 10 do if (Otdely.NazvOd=Otdel)or(Otdely.NazvOd='') then begin ok:=true; break;end;
 if ok then begin
   inc(Otdely[i].Count);
 end else begin
   for i:=1 to 10 do if (Otdely.NazvOd='') then begin break;end;
   Otdely[i].Count=1;
   Otdely[i].NazvOd=Otdel;
 end;
Otdely[i].Rabotniki[Otdely[i].Count]:=Rab;
end;
И поиск уже будет по элементу Count, который увеличивается на единицу всякий раз когда работника вносят в отдел.
Сам смысл процедуры: Найти по наименованию нужный отдел, если найден внести нового работника в хвост массива, если не найден - найти первую пустую ячейку в списке отделов, создать новый отдел там и внести в него работника.

Идея понятна?
I'm learning to live...
Stilet вне форума
Старый 22.11.2012, 16:42   #3
Drago56
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 91
По умолчанию

Тут вводишь сам все поля записи и надо вывести списки работников самого большого отдела(это работники одного отдела где их число превышает число работников других отделов)
Drago56 вне форума
Старый 22.11.2012, 17:04   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Тут вводишь сам все поля записи и надо вывести списки работников самого большого отдела(это работники одного отдела где их число превышает число работников других отделов)
Хм... Что ж. Не буду мешать.
I'm learning to live...
Stilet вне форума
Старый 22.11.2012, 17:17   #5
Drago56
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 91
По умолчанию

Спасибо за помощь

Вот файл моей программы полностью ООП паскаль.Если не трудно кому посмотрите Задачу №4 на записи в программе,как там можно вывести самый большой отдел
Вложения
Тип файла: rar Program1.rar (5.3 Кб, 4 просмотров)

Последний раз редактировалось Stilet; 22.11.2012 в 18:09.
Drago56 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Записи Camelot_2012 Паскаль, Turbo Pascal, PascalABC.NET 1 28.04.2012 21:00
Оцените математической формулой, насколько больше цифр в двоичной записи большого числа, чем в его десятичной записи. Анюта.Хом Помощь студентам 1 02.12.2011 23:13
Записи witchergreed Паскаль, Turbo Pascal, PascalABC.NET 2 26.04.2011 20:38
записи ! nolx Паскаль, Turbo Pascal, PascalABC.NET 1 02.06.2010 12:42
записи nolx Помощь студентам 0 01.06.2010 16:09