Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
12 / 8 / 5
Регистрация: 21.09.2019
Сообщений: 126
1

Найти самого молодого

23.12.2019, 07:48. Просмотров 262. Ответов 5
Метки нет (Все метки)

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
  program cenatovar;
 
type
  tovar = Record
    FIO,pol: string[50]; // Наименование товара.
    klass: byte;       // Цена товара.
    dateR: string; // Количество товара.
  end;
 
const
  N = 2;
 
var
  cpicok1, cpicok2,a: Array[1..N] of tovar; // Массивы с записями где хранится информация о товрах.
  temp: tovar;    //  Промежуточная переменная для сортировки.
  i, j, incena: Byte;// Промежуточные переменные для циклов.
  c: Array[1..N] of real;
  cod,year1,vozr,min:integer; // Переменные для перевода строки в число
 
begin
  for i := 1 to N do  // Вводим значения в массивы в ручную.
  begin
    Write('ФИО учителя: ');
    Readln(cpicok1[i].FIO);
    
    Write('Пол учителя: ');
    Readln(cpicok1[i].pol);
    
    Write('Класс: ');
    Readln(cpicok1[i].klass);
    
    Write('Дата рождения: ');
    Readln(cpicok1[i].dateR);
    Writeln;
  end;
  
  Write('ФИО':10, ' Пол':10, ' Класс':10,    'Дата рождения':10);
  Writeln;
  for i := 1 to N do  // Выводим содержимое массива на экран.
  begin
    Writeln(cpicok1[i].FIO:10, cpicok1[i].pol:10, cpicok1[i].klass:10, cpicok1[i].dateR:15);
    Writeln;
  end; WriteLN('Самый молодой учитель');
  min:=0;
 for i:=1 to n do 
   begin
     a[i].dateR:=copy(cpicok1[i].dateR,7,8);
     val(a[i].dateR,year1,cod);   
     vozr:=2019-year1;
    If vozr>=min then writeln(a[i].FIO);
     end;
  for i := 1 to n do    // Сортируем списки по алфавиту.
    for j := 1 to n - 1 do
      if cpicok1[j].FIO > cpicok1[j + 1].FIO then
      begin
        temp := cpicok1[j];
        cpicok1[j] := cpicok1[j + 1];
        cpicok1[j + 1] := temp;
      end;
  
  writeln('Список с товарами отсортированных по алфавиту:');
  Write('Товар':10, ' Цена':10, ' Количество':10);
  Writeln;
  for i := 1 to N do  //
  begin
    Writeln(cpicok1[i].FIO:10, cpicok1[i].pol:10, cpicok1[i].klass:10, cpicok1[i].dateR:15);
    Writeln;
  end;
  j :=1;
  for i := 1 to N do
    if cpicok1[i].klass < 1000 then cpicok2[j] := cpicok1[i];
  writeln('Новый список с товарами:');
 Write('ФИО':10, ' Пол':10, ' Класс':10,    'Дата рождения':10);
  Writeln;
  for i := 1 to N do    // Вывести новый список.
  begin
    Writeln(cpicok1[i].FIO:10, cpicok1[i].pol:10, cpicok1[i].klass:10, cpicok1[i].dateR:15);
    Writeln;
  end;
end.

Не работает(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2019, 07:48
Ответы с готовыми решениями:

Определить самого молодого и самого старшего из студентов, их порядковые номера
Пожалуйста помогите написать программу) Дан массив Z возрастов студентов группы . 1)...

Определить самого молодого и самого старшего из студентов
Пожалуйста помогите написать программу) Даны сведения о возрасте студентов группы V . 1) ...

Вывести на экран фамилию самого молодого студента и его возраст.
Помогите с задачами. 1.Дан текстовый файл, содержащий данные о студентах: фамилия студента,...

Найти среднее арифметическое самого большого и самого малого значения элементов матрицы
1)Дано цілочисельну квадратну матрицю порядку M. Дати відповідь, чи є у матриці ненульові...

5
3695 / 1772 / 1954
Регистрация: 10.12.2014
Сообщений: 6,876
23.12.2019, 08:40 2
Вы бы навели порядок у себя в коде!
… и тогда бы увидели, что заполняете «cpicok1», а ищите в «а»!!!
0
12 / 8 / 5
Регистрация: 21.09.2019
Сообщений: 126
23.12.2019, 09:02  [ТС] 3
Все равно не хочет))
0
3695 / 1772 / 1954
Регистрация: 10.12.2014
Сообщений: 6,876
23.12.2019, 09:09 4
Что „не хочет))“?

Добавлено через 47 секунд
Исправленная программа и вводимые данные?
0
12 / 8 / 5
Регистрация: 21.09.2019
Сообщений: 126
24.12.2019, 07:26  [ТС] 5
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
type
  sotr = Record
    FIO, pol: string[50]; //
    klass: byte;       // 
    dateR: string; // 
  end;
 
const
  N = 3;
 
var
  cpicok1, cpicok2, a: Array[1..N] of sotr; // Массивы с записями где хранится информация о товрах.
  temp: sotr;    //  Промежуточная переменная для сортировки.
  i, j: Byte;// Промежуточные переменные для циклов.
  cod, year1, vozr, min,imin: integer;// Переменные для перевода строки в число
 
begin
  for i := 1 to N do  // Вводим значения в массивы в ручную.
  begin
    Write('ФИО учителя: ');
    Readln(cpicok1[i].FIO);
    
    Write('Пол учителя: ');
    Readln(cpicok1[i].pol);
    
    Write('Класс: ');
    Readln(cpicok1[i].klass);
    
    Write('Дата рождения: ');
    Readln(cpicok1[i].dateR);
    Writeln;
  end;
  
  Write('ФИО':10, ' Пол':10, ' Класс':10,    'Дата рождения':10);
  Writeln;
  for i := 1 to N do  // Выводим содержимое массива на экран.
  begin
    Writeln(cpicok1[i].FIO:10, cpicok1[i].pol:10, cpicok1[i].klass:10, cpicok1[i].dateR:15);
    Writeln;
  end;
  min:=100;
  for i := 1 to n do 
  begin
    cpicok1[i].dateR := copy(cpicok1[i].dateR, 7, 10);
    val(cpicok1[i].dateR, year1, cod);   
    vozr := 2019 - year1;
    If vozr<min then begin 
                        min:=vozr;
                        imin:=i;
  end;
  end;
  writeln('Самый молодой учитель - ', cpicok1[imin].FIO, ' ,его возраст - ', min);
  for i := 1 to n do    // Сортируем списки по алфавиту.
    for j := 1 to n - 1 do
      if cpicok1[j].FIO > cpicok1[j + 1].FIO then
      begin
        temp := cpicok1[j];
        cpicok1[j] := cpicok1[j + 1];
        cpicok1[j + 1] := temp;
      end;
  
  writeln('Список фамилий в алфавитном порядке:');
  Write('ФИО':10, ' Пол':10, ' Класс':15,    'Дата рождения':18);
  Writeln;
  for i := 1 to N do  //
  begin
    Writeln(cpicok1[i].FIO:10, cpicok1[i].pol:10, cpicok1[i].klass:10, cpicok1[i].dateR:15);
    Writeln;
  end;
for i := 1 to N do
if (cpicok1[i].klass>=9) and (cpicok1[i].klass<=11) then cpicok2[j] := cpicok1[i];
  writeln('Новый список:');
  Write('ФИО':10, ' Пол':10, ' Класс':15,    'Дата рождения':18);
  Writeln;
  for i := 1 to N do    // Вывести новый список с учителями страших классов(9-11)
  begin
    Writeln(cpicok2[i].FIO:10, cpicok2[i].pol:10, cpicok2[i].klass:10, cpicok2[i].dateR:15);
    Writeln;
  end;
end.



Нужно вывести список учителей старших классов (с 9 по 11), он почему-то выводит 0

Добавлено через 2 минуты
Строки с 71 по 80
0
3695 / 1772 / 1954
Регистрация: 10.12.2014
Сообщений: 6,876
24.12.2019, 09:04 6
Найти самого молодого

Зачем новая тема?

Добавлено через 3 минуты
Pascal
1
if (cpicok1[i].klass>=9) and (cpicok1[i].klass<=11) then cpicok2[j] := cpicok1[i];
А переменная j при этом чему равна?
И разве таких учителей тоже N?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2019, 09:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти длину самого короткого и самого длинного слова
пожалуйста помогите решать эту программу мне надо блок схема и программа. Дана строка, содержащая...

Найти длину самого длинного и самого короткого слова
Помогите,пожалуйста,решить задачу!!! Дана символьная строка,которая заканчивается точкой.Найти...

Найти длину самого короткого слова и самого длинного слова
Дана строка, содержащая текст. Найти длину самого короткого слова и самого длинного слова. Как...

Найти длину самого короткого слова и самого длинного слова
Помогите пожалуйста решить. Дана символьная строка, содержащая текст, который заканчивается...


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

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

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