![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Tina |
![]()
Сообщение
#1
|
Гость ![]() |
Помогите с решением,
Код type name = (Mary, Jane, Kim, Bob, Jan, Pit, Tom, Sara, Bill, Pol); data = record male : boolean; {пол: true - мужской, false - женский} height:140..200; {рост} cost : word; {зарплата} end; group = array[name] of data; Опишите функцию Name(G), определяющую имя мужчины из группы G с ростом x. Сообщение отредактировано: volvo - 22.01.2005 11:38 |
BlackShadow |
![]()
Сообщение
#2
|
Гость ![]() |
Э-э-э-э.....
знакомое что-то, да Apal? |
Tina |
![]()
Сообщение
#3
|
Гость ![]() |
и как это изобразить???
|
BlackShadow |
![]()
Сообщение
#4
|
Гость ![]() |
Блин, найти не могу... Точно ведь было что-то такое, и, по моему, Apal дал довольно внятный ответ. Придётся писать заново.
Я так понял, что надо написать функцию не 'Name', т. к. уже есть тип с таким именем, а допустим 'GetName', и не от группы, а от роста. Код Type Name = (Mary, Jane, Kim, Bob, Jan, Pit, Tom, Sara, Bill, Pol); Data = Record Male : Boolean; {пол: true - мужской, false - женский} {вот где зарождается половая дискриминация :)} Height:140..200; {рост} Cost : Word; {зарплата} End; Group = Array[Name] Of Data; Const NameStr:Array[Name] Of String = ('Mary', 'Jane', 'Kim', 'Bob', 'Jan', 'Pit', 'Tom', 'Sara', 'Bill', 'Pol'); Var Data:Group; Function GetName(x:Integer):Name; Var i:Name; Begin For i:=Mary To Pol Do If Data[i].Male And (Data[i].Height=x) Then Begin GetName:=i; Exit End; GetName:=Mary {Будем использовать Mary, как знак того, что в группе нет мужчин с таким ростом :)} End; Var i:Name; x:Integer; Begin Randomize; For i:=Mary To Pol Do Begin Data[i].Male:=Not(i In [Mary,Jane,Sara]); Data[i].Height:=Random(61)+140; Data[i].Cost:=Random(1000)+1000; {у. е. конечно :)} Write(NameStr[i],'(',Data[i].Height,') takes $',Data[i].Cost) End; Write('Enter Height: '); ReadLn(x); i:=GetName(x); If i=Mary Then {Mary - признак того, что подходящего мужика нет :) } WriteLn('NoBody') Else WriteLn(NameStr[i]) End. Приблизительно так... |
APAL |
![]()
Сообщение
#5
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
-------------------- |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 18:49 |