Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
1 / 1 / 4
Регистрация: 04.11.2012
Сообщений: 43
1

Упорядочить список по алфавиту по возрастанию номеров групп

02.04.2013, 21:41. Показов 1926. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Описать переменную "студент", содержащую: имя, фамилию, отчество студента, название учебного заведения, номер группы. Создать список студентов (N>10). Упорядочить список по алфавиту по возрастанию номеров групп.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2013, 21:41
Ответы с готовыми решениями:

Упорядочить массив из записей по возрастанию значений табельных номеров
Решить поставленную задачу, используя один из методов сортировки. Дан массив состоящий из...

В первом столбце StringGrid упорядочить все фамилии по возрастанию (по алфавиту)
Ребят помогите исправить ошибки .Данная задача состоит в том что при нажатие данной кнопки в...

Упорядочить список по алфавиту
СРОЧНО !!! Нужна помощь... Входной файл: z.in Выходной файл: z.out Упорядочить список по...

Упорядочить список студентов по алфавиту
Составить программу для ввода записи по N студентам: Фамилия, год рождения, год поступления в...

1
1 / 1 / 4
Регистрация: 04.11.2012
Сообщений: 43
21.04.2013, 17:25  [ТС] 2
Лучший ответ Сообщение было отмечено vermilionn как решение

Решение

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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
program laba4;
uses crt;
const max = 100;
type student = record
     name, surname, patr, inst: string[50];
     number: longint;
end;
s = array [1..max] of student;
{------------------------------------}
{Процедура ввода числа студентов}
procedure input (var n: integer);
var 
  ver: integer; str: string;
begin
  clrscr;
  writeln ('Данная программа предназначена для создания списка студентов с их
  персональными');
  writeln ('данными, а также для упорядочения этого списка по возрастанию 
  нормеров групп и пофамильно.');
  repeat
    writeln ('Введите число студентов (не меньше 10) = ');
    readln (str);
    val (str, n, ver);
    if (ver <> 0) or (n < 10) then
      writeln ('Введено некорректное значение');
  until (ver = 0) and (n >= 10);
end;
{-----------------------------------------------}
{Процедура ввода данных о студентах}
procedure inform_input (n: integer; var stud: s);
var i, ver: integer; str: string;
begin
  for i:= 1 to n do
    begin
      writeln ('Введите данные о ', i, '-ом студенте');
      writeln ('Введите фамилию');
      readln (stud[i].surname);
      writeln ('Введите имя');
      readln (stud[i].name);
      writeln ('Введите отчество');
      readln (stud[i].patr);
      writeln ('Введите название учебного заведения');
      readln (stud[i].inst);
      repeat
        writeln ('Введите номер группы');
        readln (str);
        val(str, stud[i].number, ver);
        if (ver <> 0) or (stud[i].number >= 1000000) then
          writeln ('Введено некорректное значение');
      until (ver = 0) and (stud[i].number < 1000000);
    end;
end;
{---------------------------------------}
{Процедура сортировки списка студентов по номеру группы}
procedure sortnumb (var stud:s; n:integer);
var
  i, j: integer;
  buf: student;
begin
  for i:= 1 to n-1 do
    begin
      for j:= 1 to n-i do
        begin
          if stud[j].number > stud[j+1].number then
            begin
              buf:= stud[j];
              stud[j]:= stud[j+1];
              stud[j+1]:= buf;
            end;
        end;
    end;
end;
{---------------------------------------}
{Процедура сортировки списка студентов по алфавиту пофамильно}
procedure sort (var stud: s; n: integer);
var i, j: integer;
    buf: student;
begin
  for i:= 1 to n-1 do
    begin
      for j:= 1 to n-i do
        begin
          if (stud[j].number = stud[j+1].number) then
          if (stud[j].surname > stud[j+1].surname) then
            begin
              buf:= stud[j];
              stud[j]:= stud[j+1];
              stud[j+1]:= buf;
            end;
        end;
    end;
end;
{--------------------------------------------}
{Процедура вывода отсортированного списка}
procedure output (n: integer; const stud: s);
var i: integer;
begin
  writeln ('Отcортированный список:');
  writeln ('Фамилия':12, '|':3, 'Имя':12, '|':3, 'Отчество':12, '|':3, 'Уч. заведение':12, '|':3, 'N группы':12);
  for i:= 1 to n do
    writeln (stud[i].surname:12, '|':3, stud[i].name:12, '|':3, stud[i].patr:12,'|':3,stud[i].inst:13,'|':3,stud[i].number:12);
  readln;
end;
{------------------------------------------}
{Основная часть}
var n: integer;
    stud: s;
begin
  input (n);
  inform_input (n, stud);
  sortnumb (stud, n);
  sort (stud, n);
  output (n, stud);
end.
0
21.04.2013, 17:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2013, 17:25
Помогаю со студенческими работами здесь

Список фамилий упорядочить по алфавиту.
Список фамилий упорядочить по алфавиту. помогите решить задачу - очень надо!:) входные данные -...

Список фамилий. Упорядочить их по алфавиту
Заданный список фамилий. Упорядочить их по алфавиту. Проверить написания первой большой буквы ...

Упорядочить список фамилий по алфавиту
Заданный список фамилий. Упорядочить их по алфавиту. Проверить написания первой большой буквы ...

Список введенных фамилий упорядочить по алфавиту
Нужно список введенных фамилий упорядочить по алфавиту!!!


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru