1) var a: array[0..10] of integer; i, s: integer;
begin
for i := 1 to 10 do begin
a[i] := random(60);
write(a[i], ' ');
if a[i]<=20 then s:=s+a[i];
end;
writeln;
writeln(s);
<span>end.
2) </span>var a: array[0..10] of integer; i, s: integer;
begin for i := 1 to 10 do begin
a[i] := random(60);
write(a[i], ' ');
// if (i mod 2=1) then s:=s+a[i]; Раскоментируй, если сумму нужно искать среди нечетных номеров элементов.
// if (a[i] mod 2=1) then s:=s+a[i]; Раскоментируй, если сумму нужно искать среди самих нечетных элементов.
end;
writeln;
writeln(s);
end.
Седловые точки редко рандомятся, так что вводите значения с клавиатуры. Надо вначале программе раскомментировать ввод через клавиатуру и закоментировать ввод спомощью рандома.
<u><em>Для стека:</em></u>
const
<span> MAX_SIZE = 100;
</span>var
size, n: integer;
stack: array[1..MAX_SIZE] of integer;
procedure push(a: integer);
begin
inc(size);
stack[size] := a;
<span>end;
procedure view;
var
i: integer;
begin
for i := 1 to size do
write(stack[i], ' ');
writeln;
end;
<u><em>Для очереди:</em></u>
const
MAX_SIZE = 100;
var
head, tail: integer;
queue: array[1..MAX_SIZE] of integer;
procedure push(a: integer);
begin
queue[tail] := a;
inc(tail);
<span>end;
procedure view;
var
i: integer;
begin
for i := head to tail - 1 do
write(queue[i], ' ');
writeln;
<span>end;
<em><u>И стек и очередь реализованы с помощью массива. Нужно следить, чтобы размер структуры не был больше размера массива</u></em></span></span></span>
Procedure TForm1.Button4Click(Sender: TObject);
var Buff: TNodePointer;
x: TItem;
i,j: Cardinal;
begin
i:=0;
Buff:=Head;
if(Buff^.Next=nil) then
begin
ShowMessage('В стеке один элемент!');
exit;
end;
while Buff <> nil do
begin
while (Buff^.Next<>nil) and (Buff^.Data=Buff^.Next^.Data) and not(isEmpty(Buff)) do
begin
pop(Buff^.Next,x);
for j:=i to StringGrid1.RowCount-2 do
StringGrid1.Cells[0,j]:=StringGrid1.Cells[0,j+1];
StringGrid1.RowCount:=StringGrid1.RowCount-1;
end;
Buff:=Buff^.Next;
i:=i+1;
end;
end;
PS. Delphi у меня сейчас нет, так что проверяйте сами. Если что не так - сообщайте.