Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Drewer111
0 / 0 / 0
Регистрация: 22.10.2018
Сообщений: 1
1

Вывести список самых новых и самых старых машин для каждой из стоянок,с указанием их владельцев и года выпуска

22.10.2018, 23:02. Просмотров 234. Ответов 1
Метки нет (Все метки)

"В районном обществе автолюбителей имеются сведения об N автомобилях.О каждой машине известно:фамилия владельца,год выпуска и номер автостоянки.Необходимо для каждой из стоянок получить два списка:список самых новых и самых старых машин,с указанием их владельцев и года выпуска.Предусмотреть,что нумерация стоянок может быть не сплошной"
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2018, 23:02
Ответы с готовыми решениями:

Вывести 10 самых старых сотрудников и 10 самых высокоплачиваемых
Здравствуйте, подскажите пожалуйста, у меня есть БД где написаны сотрудники предприятия с...

Обработка текстовых файлов. Вывести первую из самых коротких строк файла и последнюю из самых длинных
Дан текстовый файл f. Составить программу для вывода первой из самых коротких строк файла и...

Самый главный FAQ для самых-самых начинающих)))
Если вам на форуме помогли - не поленитесь и нажмите на кнопочку "Спасибо", если вы хотите, что бы...

Для каждого выбранного товара вывести список самых молодых сотрудников
Для "каждого" выбранного товара вывести список самых молодых сотрудников. таблицы:...

Для самых-самых начинающих
Здравствуйте, нужно сделать модель, которая будет, в зависимости от входных данных, хранящихся в...

1
Puporev
Модератор
57102 / 43596 / 30128
Регистрация: 18.05.2008
Сообщений: 103,944
23.10.2018, 14:52 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
//тип вводимых данных
type auto=record
          fam:string[20];
          god:integer;
          nom:integer;
          end;
//данные машин на каждой стоянке
     stoyanka=record
              fam:string[20];
              god:integer;
              end;
//массив данных на стоянках
     mas1=array[1..100] of stoyanka;
//массив стоянок
     mas2=record
          nom:integer;//номер
          kol:integer; //количество машин
          min:integer; //самый древний год
          max:integer; //самый новый
          avt:mas1; //данные(фамилия и год)
          end;
var n,m,i,j,k:integer;
    a:array[1..100] of auto;
    s:array[1..100] of mas2;
begin
write('Количество автомобилей n=');
readln(n);
writeln('Введите данные об автомобилях');
for i:=1 to n do
 begin
  writeln('Автомобиль ',i);
  with a[i] do
   begin
    write('Фамилия владельца: ');readln(fam);
    write('Год выпуска: ');readln(god);
    write('Номер автостоянки: ');readln(nom);
   end;
 end;
//составим массив стоянок
m:=1; //первая стоянка
s[m].nom:=a[1].nom;
s[m].kol:=0;
for i:=1 to n do//ищем еще машины с этой стоянки
if a[i].nom=s[m].nom then
 begin
  inc(s[m].kol);
  s[m].avt[s[m].kol].fam:=a[i].fam;
  s[m].avt[s[m].kol].god:=a[i].god;
 end;
for i:=2 to n do //другие стоянки
 begin
  j:=1; //проверяем была ли уже
  while (a[i].nom<>s[j].nom)and(j<=m) do inc(j);
  if j>m then //если не было, новая стоянка
   begin
    inc(m);
    s[m].nom:=a[i].nom;
    s[m].kol:=0;
    for k:=1 to n do
    if a[k].nom=s[m].nom then
     begin
      inc(s[m].kol);
      s[m].avt[s[m].kol].fam:=a[i].fam;
      s[m].avt[s[m].kol].god:=a[i].god;
     end;
   end
  else   //иначе добавляем к той что была
   begin
    inc(s[j].kol);
    s[j].avt[s[j].kol].fam:=a[i].fam;
    s[j].avt[s[j].kol].god:=a[i].god;
   end;
 end;
//находим на каждой стоянке самые старые и самые новые года
for i:=1 to m do
 begin
  s[i].min:=s[i].avt[1].god;
  s[i].max:=s[i].avt[1].god;
  for j:=2 to s[i].kol do
  if s[i].avt[j].god<s[i].min then s[i].min:=s[i].avt[j].god
  else if s[i].avt[j].god>s[i].max then s[i].max:=s[i].avt[j].god;
 end;
writeln('Списки самых новых и самых старых машин на стоянках');
 for i:=1 to m do
  begin
   writeln('Стоянка номер ',s[i].nom);
   writeln('Самые новые машины');
   for j:=1 to s[i].kol do
   if s[i].avt[j].god=s[i].max then
   writeln(s[i].avt[j].fam,'  ',s[i].avt[j].god);
   writeln('Самые старые машины');
   for j:=1 to s[i].kol do
   if s[i].avt[j].god=s[i].min then
   writeln(s[i].avt[j].fam,'  ',s[i].avt[j].god);
  end;
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2018, 14:52

По введенной марке автомобиля вывести на экран список владельцев и номерные знаки машин
Помогите пожалуйста В текстовом файле содержатся сведения о нескольких моделях автомобилей, их...

Выпадение из яндекса самых старых страниц
В начале октября Яндекс перестал индексировать самые старые страницы. У нас журналы и все статьи...

Есть ли замедлялки производительности для самых современных компов 2011 года?
Привет. Пробило меня поиграть в старые игры(хочу unreal tournament), но есть небольшая проблема: ни...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru