Подскажите, пожалуйста, с чего начать писать эту программу.
type слово= array [1..10] of char;
ТЭ=слово;
Описать функцию, подсчитывающую количество слов списка L, которые начинаются и оканчиваются одной и той же буквой.
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
type pt = ^elem;
elem = record
info : byte;
next : pt;
end;
var
r: pt;
ok: boolean;
n: Real;
Procedure Search (first: pt; x: integer; var q: pt);
begin
{ TODO -oUser -cConsole Main : Insert code here }
First:= nil;
While n>0 do
begin
New®;
r^.Next:=first;
r^.Number:=n;
First:=r;
n := n-1
end;
r: = first;
ok: = true;
while (r<>nil) and ok do
if r^.Number=x then ok:=false else r:=r^.Next;
q: = r
end.
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
name=array [1..10] of Char;
p=^elem;
elem=record CC:p;
end;
var
slovo:name;
i:Integer;
nachalo, tek, ob:p;
begin
{ TODO -oUser -cConsole Main : Insert code here }
New (nachalo);
Readln;
writeln ('первый элемент списка: ');
for i:=1 to 10 do read (slovo [i]);
Readln;
nachalo^.CC:=nil;
nachalo^.data:=slovo;
while slovo<> ' ' do
begin
tek:=nachalo;
New(ob);
Writeln ('следующее слово');
for i:=1 to 10 do read (slovo[i]);
Readln;
end;
end.
unit WordList;
interface
type
tWord= string[10];
tpElem= ^tElem;
tElem= record
wrd: tWord;
next: tpElem
end;
procedure AddElem(l: tElem; w: tWord);
implementation
procedure AddElem(l: tElem; w: tWord);
begin
// тут код добавления элемента
end;
begin
end.
unit WordList;
interface
type
tWord= string[10];
tpElem= ^tElem;
tElem= record
wrd: tWord;
next: tpElem
end;
procedure AddElem(l: tElem; w: tWord);
implementation
procedure AddElem(l: tElem; w: tWord);
begin
First: = nil;
While n>0 do
begin
New®;
r^.Next:=first;
r^.Number:=n;
First:=r;
n := n-1
end;
begin
end.
AddElem(l: tElem; w: tWord);
begin
First: = nil;
While n>0 do
begin
New®;
r^.Next:=first;
r^.Number:=n;
First:=r;
n := n-1
end;
TElem = integer;
Type
PTStackItem = ^TStackItem;
TStackItem = record
Data: TElem;
Next: PTStackItem;
end;
TStack = PTStackItem;
Procedure InitStack(var Stack:TStack);
begin
Stack:=nil;
end;
Function StackEmpty(Stack:TStack):Boolean;
begin
StackEmpty:=(Stack=NIL);
end;
Procedure StackPush(var Stack:TStack; E:TElem);
var
tmp:TStack;
begin
new(tmp);
tmp^.next:=Stack;
tmp^.data:=E;
Stack:=tmp;
end;
Procedure PrintStack(Var Stack: TStack);
Var p: PTStackItem;
Begin
WriteLn( 'Printing Stack...' );
If StackEmpty(Stack) Then
Begin
WriteLn('<Џгбв®©>'); Exit
End;
p := Stack;
While p <> nil Do
Begin
Write( p^.data, ' ' );
p := p^.next;
End;
WriteLn
End;