Читайте также:
|
|
Написати основну програму та необхідні підпрограми (оформити їх у модулі) для роботи з однонаправленим списком без ланки заголовку (задати потрібний тип). Сформувати список цілих чисел, знайти в списку всі попарні входження елементів (лише по два) та роздрукувати вмістиме списку та знайдені елементи. Дані читати з файлу.
Опис алгоритму
Текст текст текст
Текст програми
Program tenth_10;
uses ffffff, Tulist, crt;
begin
clrscr;
ListRead;
Writeln('rezyltat: ');
ListWrite;
listPowyk;
readln;
end.
Unit ffffff;
Interface
uses TUlist;
procedure ListRead;
procedure ListPowyk;
procedure ListWrite;
procedure Listinit;
Implementation
procedure Listinit;
begin
first:=nil;
last:=first;
cur:=first;
end; {ListInit}
procedure ListRead;
begin
neW(first);
assign(f, 'E:\FILEE_1.PAS');
reset(f);
cur:=first;{ prev:=first;} n:=0;
while not eof(f) do
begin
{prev:=cur; } {new(cur);}
read(f, cur^.a);
new(cur^.next);
Cur:=cur^.next;
n:=n+1;
end; cur:=nil;
close(f);
end; {ListAdd}
procedure ListWrite;
BEGIN
writeln;
cur:=first;
{while cur<>nil do }
For i:=1 to n do
begin
write(cur^.a,' ');
cur:=cur^.next;
end;
writeln;
end;
procedure ListPowyk;
var cc:TPoin;
m,i,j,nn:integer;
begin
c:=first;
for i:=1 to n-1 do
begin
cur:=c;
m:=c^.a;
cc:=c;
for j:=i to n-1 do
begin
if cur^.a>m then begin
m:=cur^.a;
cc:=cur;
end;
cur:=cur^.next;
end;
cc^.a:=c^.a;
c^.a:=m;
c:=c^.next;
end;
cur:=first;
while cur<>nil do
begin
nn:=0;
prev:=cur;
while cur^.a=prev^.a do
begin
nn:=nn+1;
prev:=prev^.next;
end;
if nn=2 then
begin
write(cur^.a,' ');
cur:=prev;
end
else cur:=cur^.next;
end;
End;
end.
Unit TUlist;
Interface
type Tpoin=^Tlist;
Tlist=record
a:integer;
next:Tpoin;
end;
var cur, last, first,prev, c:Tpoin;
b, n, i:integer;
F:text;
Implementation
end.
FILEE_1: 2 2 4 5 4 6 6 1
Апробація
Прочитавши дані з файлу отримаємо результат:
2 2 4 5 4 6 6 1
6 4 2
Завдання № 11
тема завдання
Постановка задачі
Написати модуль для роботи із кількома стеками на базі одномимірного масиву. Зовні модуля повинні бути видимі лише функції запису в стек, читання зі стеку (типу PUSH та POP) та переключення між стеками. Використовуючи описаний модуль в основній програмі прочитати масив стрічок та вивести в оберненому порядку спочатку групу стрічок, які складаються лише з цифр, далі тих, які складаються лише з латинських букв і в кінці – групу з мішаними символами. Масив переглядати лише один раз.
Опис алгоритму
Текст текст текст
Дата добавления: 2015-07-17; просмотров: 83 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Постановка задачі | | | Обсяг виконаної роботи |