Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
25 / 4 / 5
Регистрация: 04.01.2012
Сообщений: 41

Создать список типа базы данных из фамилий, предметов, оценок по ним

05.01.2012, 09:42. Показов 1905. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать список типа базы данных из фамилий,предметов,оценок по ним!!!!

-вывести список упорядоченный по алфавиту

-вывести список упорядоченный по оценкам

Добавлено через 30 минут
Срочно срочно надо решить!!!

Добавлено через 17 часов 12 минут
вот што у меня получилось но это совсем не то!!!

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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
program spisok;
uses crt;
type PElement=^TypeElement;
             TypeElement=record
                          name:string;
                          name2:string;
                          kol:integer;
                          gr:integer;
                          vl:integer;
                          next:PElement;
                    end;
var
   f: file of string;
   a:array[1..100] of string ;
   qwe:file of PElement;
   ptrhead:PElement;
   ptrcurrent:PElement;
   vb,kol,gr,vl,i,n,j,k:integer;
   name,name2,s,sub:string;
   q:set of char;
   
const   //Разделители слов.
  D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
  //Максимальное количество слов в тексте.
  M = 20;
 
procedure sozd(name:string; kol,gr,vl:integer; name2:string;
                             var ptrHead, ptrCurrent: PElement);
  {Вставка непервого элемента в линейный однонаправленный список}
  {справа от элемента, на который указывает ptrCurrent}
var
  ptrAddition: PElement;   {вспомогательный указатель}
begin
     New(ptrAddition);
     ptrAddition^.name := name;
     ptrAddition^.kol:= kol;
     ptrAddition^.gr:= gr;
     ptrAddition^.vl:= vl;
     ptrAddition^.name2:= name2;
     if ptrHead = nil then begin   {список пуст}
     {создаем первый элемент списка}
     ptrAddition^.Next := nil;
     ptrHead := ptrAddition;
     end else begin   {список не пуст}
     {вставляем элемент списка справа от элемента,}
     {на который указывает ptrCurrent}
     ptrAddition^.Next := ptrCurrent^.Next;
     ptrCurrent^.Next := ptrAddition;
     end;
     ptrCurrent := ptrAddition;
end;
 
procedure print(ptrHead: PElement);
  {Просмотр линейного однонаправленного списка}
var
  ptrAddition: PElement;   {вспомогательный указатель}
begin
     ptrAddition := ptrHead;
     writeln('|_-_-_-_-_-_-_-|-_-_-_-_-_-_|_-_-_-_-_-_-_-_-_-|-_-_-_-_-_-_-_-|-_-_-_-_-_-_-_|');
     while ptrAddition <> nil do begin   {пока не конец списка}
     writeln('| ',ptrAddition^.name:12, ' | ',ptrAddition^.kol:10,' | ',ptrAddition^.gr:16,' | ',ptrAddition^.vl:13,' | ',ptrAddition^.name2:12,' |' );       {Вывод значения элемента}
     ptrAddition := ptrAddition^.Next;
     writeln('|_-_-_-_-_-_-_-|-_-_-_-_-_-_|_-_-_-_-_-_-_-_-_-|-_-_-_-_-_-_-_-|-_-_-_-_-_-_-_|');
     end;
end;
 
 
 
procedure alf(name:string; var ptrHead, ptrCurrent: PElement);
var
  ptrAddition: PElement;
begin
     assign (f, 'file.txt');
     reset (f);
     while not eof (f) do begin
                               read (f, name);
                               s:=name;
                               i:=0;k:=0;
                               //q:=[' ',',' , '-', '!', '?', ';',':','.'];
                               repeat
                               inc(i);
                               //if s[i] in q then begin
                                                      //inc(k);
                                                      //a[k]:=sub;
                                                      //sub:='';
                                                 //end
                                            //else if not (s[i] in q) then sub:=sub+s[i];
                                until (i=length(s))or(s[i]='.');
                                if sub<>'' then begin
                                                     inc(k);
                                                     a[k]:=sub;
                                                     end;
                                writeln;
                                for i:=1 to k-1 do
                                                  for j:=k-1 downto i do
                                                                        if a[j]>a[j+1] then
                                                                                           begin
                                                                                                sub:=a[j+1];
                                                                                                a[j+1]:=a[j];
                                                                                                a[j]:=sub;
                                                                                           end;
                                for i:=1 to k do
                                writeln(a[i]);
                                write (f, a[i]);
                          end;
                          
     close(f);
     end;
 
begin
     clrscr;
     ptrhead:=nil;
     ptrcurrent := nil;
     repeat
     clrscr;
     writeln('###############################################################################');
     writeln('#                                                                             #');
     writeln('#                               МЕНЮ ПРОГРАМЫ                                 #');
     writeln('#                                                                             #');
     writeln('###############################################################################');
     writeln('#                                                                             #');
     writeln('#                     Выберете цифрами вариант действия                       #');
     writeln('#                                                                             #');
     writeln('#_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_#');
     writeln('#                                                                             #');
     writeln('#                   1:Вставка списка                                          #');
     writeln('#                   2:Просмотр списка                                         #');
     writeln('#                   3:Вставка дополнительних элементов списка                 #');
     writeln('#                                                                             #');
     writeln('#                                                                             #');
     writeln('###############################################################################');
     readln(vb);
     case vb of
               1: begin
                       assign (f, 'file.txt');
                       rewrite (f);
                       writeln('Введите количество элементов');
                       readln(n);
                       for i:=1 to n do begin
                       writeln('Введите наименование',i,'-ого крана');
                       readln(name);
                       writeln('Введите количество',i,'-ого крана');
                       readln(kol);
                       writeln('Грузоподъемность',i,'-ого крана, тон');
                       readln(gr);
                       writeln('Вылет стрелки крана',i,'-ого крана, м');
                       readln(vl);
                       writeln('Наименование',i,'-ого судна ');
                       readln(name2);
                       sozd(name,kol,gr,vl,name2,ptrhead,ptrcurrent);
                       write(f, name);
                       end;
                       close (f);
                 end;
               2: begin
                       writeln('|_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_|');
                       writeln('|                              База данных                                    |');
                       writeln('|_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_|');
                       writeln('| Наимен крана | Количество | Грузоподъемность | Вылет стрелки | Наимен судна |');
                       print(ptrhead);
                       writeln('Если вы просмотрели список нажмите любую клавишу');
                       readln;
                  end;
               3:begin
                       writeln('Введите количество элементов');
                       readln(n);
                       for i:=1 to n do begin
                                             writeln('Введите наименование',i,'-ого крана');
                                             readln(name);
                                             writeln('Введите количество',i,'-ого крана');
                                             readln(kol);
                                             writeln('Грузоподъемность',i,'-ого крана, тон');
                                             readln(gr);
                                             writeln('Вылет стрелки крана',i,'-ого крана, м');
                                             readln(vl);
                                             writeln('Наименование',i,'-ого судна ');
                                             readln(name2);
                                             sozd(name,kol,gr,vl,name2,ptrhead,ptrcurrent);
                                             end;
                 end;
               4:begin
                      assign (f, 'file.txt');
                      reset (f);
                      while not eof (f) do begin
                      read (f, a[i]);
                      write(a[i],' ');
                      end;
                      close (f);
                      readln
               end;
     end;
     until(vb=6)
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.01.2012, 09:42
Ответы с готовыми решениями:

Создать текстовый файл, в котором находится список из n фамилий и оценок за экзамен
Создать текстовый файл при помощи языка Паскаль в, котором находится список из n фамилий и оценок за экзамен.=-O

Создать текстовый файл из фамилий и оценок студентов
Помогите плз создать программу: Создать текстовый файл при помощи языка Паскаль в, котором находится список из n фамилий и оценок за...

Создать запрос с использованием типа данных enum или схожим с ним
Здравствуйте! есть ли в Interbase тип данных перечисление? мне необходимо создать таблицу Темы, которая состоит из 3 столбцов: шифр,...

2
 Аватар для vse
0 / 0 / 2
Регистрация: 04.01.2012
Сообщений: 8
05.01.2012, 11:05
Упорядочивание (сортировка).
Общая схема.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure sort_list(var mas:array of array of string; pole,count:integer);
 
var buf: array of string;
    i,j:integer;
    
    
begin
  SetLength(buf,5);
  for i:=0 to count-2 do
    for j:=i+1 to count-1 do    
      if mas[i,pole]>mas[j,pole] then
        begin
          buf:=mas[i];
          mas[i]:=mas[j];
          mas[j]:=buf;
        end;
  buf:=nil;
end;
минусы: через массив = нерациональное использование памяти
0
25 / 4 / 5
Регистрация: 04.01.2012
Сообщений: 41
05.01.2012, 12:17  [ТС]
спасибо, а по алфавиту есть у кого нить идеи?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.01.2012, 12:17
Помогаю со студенческими работами здесь

Создать двунаправленный список с закрытыми членами данных и с организацией доступа к ним
Нужно создать двунаправленный список с закрытыми членами данных и с организацией доступа к ним.Так же сделать указатели на первый и...

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

Как создать сетевую поддержку базы данных типа клиент-сервера
Подкиньте идею как создать сетевую поддержку базы данных типо клиент-сервер, что бы база находилась на сервере, а работать с не можно было...

Создать систему обработки данных однотабличной базы, состоящей из записей следующего типа
Создать систему обработки данных однотабличной базы, состоящей из записей следующего типа: // тип данных номера зачетной книжки ...

Динамические структуры данных. Создать односвязный список типа очередь
Здравствуйте! Помогите с задачей. Создать односвязный список типа очередь. Заменить заданный элемент (не 1-й и не последний) на другой,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru