IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> RECORD, Надо создать программу если Дано, помогите закончить до конца
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Надо создать программу, если Дано:
type Data = record
Ziua: 1..31;
Luna: 1..12;
Anul: integer; end;
Persoana = record
NumePrenume: string;
DataNasterii: Data;
end;
ListaPersoane = array[1..50] of Persoana;


Пояснения:
ListaPersoane -список лиц
Persoana-человек
Datanasterii-дата рождения
Ziua-день
anul-год
NumePrenume-имя и фамилия
Dati datele persoanei - введите даты
Data nasterii -день рождения
Ziua cautata - день который ищем
Ну уже комментарии там для себя делал, думаю не надо переводить)

Сделать программу которая будет читать с клавиатуры данные n человек(n< или равно 50) и выводить на экран:
a. людей рожденных в день z месяца;
b. людей рожденных в месяц l года;
c. людей рожденных в год a;
d. Людей рожденных z.l.a числа;
e. Самый старый человек
f. Самый молодой
g. Возраст каждого человека в годах, месяцах, днях
h. Список людей которые имеют больше v лет
i. Список людей в алфавитном порядке
j. Список людей упорядоченный в соответствии с датой рождения
k. Список людей такого же возраста (рожденных в том же году)
Понимаю что много, но помогите если сможете)...только не нужно использовать "сложные" термины, то есть надо на уровне 11 класса, но надо обязательно решить, все не могу..
Вот сколько я смог сделать:...

Program spisok;
type Data = record
Ziua: 1..31;
Luna: 1..12;
Anul: integer; end;
Persoana = record
NumePrenume: string;
DataNasterii: Data;
end;
ListaPersoane = array[1..50] of Persoana;
var a:ListaPersoane; n,i,z,l,an:integer; max,min: persoana;
begin
{Introducerea datelor in tablou}
writeln('Dati numarul de persoane'); readln(n);
For i:=1 to n do
begin
writeln('Dati datele persoanei ',i);
writeln('Numele si Prenumele '); readln(a[i].NumePrenume);
Writeln('Data nasterii '); readln(a[i].DataNasterii.ziua);
Writeln('Luna nasterii '); readln(a[i].DataNasterii.luna);
Writeln('Anul nasterii '); readln(a[i].DataNasterii.anul);
end;
{Introducerea datelor in tablou}

{Afisarea datelor din tablou}
For i:=1 to n do
begin
writeln('Datele persoanei ',i);
writeln('Numele si Prenumele ',a[i].NumePrenume);
Writeln('Data nasterii ',a[i].DataNasterii.ziua);
Writeln('Luna nasterii ',a[i].DataNasterii.luna);
Writeln('Anul nasterii ',a[i].DataNasterii.anul);
end;
{Afisarea datelor din tablou}

{Punctul a}
writeln('Ziua cautata'); readln(z);
For i:=1 to n do
if a[i].DataNasterii.ziua = z then writeln(a[i].NumePrenume);
{Punctul a}

{Punctul b}
writeln('Luna cautata'); readln(l);
For i:=1 to n do
if a[i].DataNasterii.luna = l then writeln(a[i].NumePrenume);
{Punctul b}

{Punctul c}
writeln('Anul cautat'); readln(an);
For i:=1 to n do
if a[i].DataNasterii.anul = an then writeln(a[i].NumePrenume);
{Punctul c}

{Punctul d}
For i:=1 to n do
if (a[i].DataNasterii.ziua = z) and ( a[i].DataNasterii.luna = l) and
( a[i].DataNasterii.luna = l ) then writeln(a[i].NumePrenume);
{Punctul d}
end.


Ещё вроде должны были получиться рабочими пункты e и f, но ничего не делают.., если добавить следующую часть кода перед end.
{Punctul e}
max.DataNasterii.anul := 0;
For i:=1 to n do
if a[i].DataNasterii.anul < max.DataNasterii.anul then max:=a[i];
writeln('samyy molodoy chelovek' ,max.NumePrenume);
{Punctul e}

{Punctul f}
min.DataNasterii.anul := 0;
For i:=1 to n do
if a[i].DataNasterii.anul > min.DataNasterii.anul then max:=a[i];
writeln('samyy staryy chelovek ' ,min.NumePrenume);
{Punctul f}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.05.2024 17:13
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name