Даны три массива слов s11, , s115 ; s21, , s210 ; s31, , s312. вывести три списка: из массива s1- слова, начинаю¬щиеся на букву в; из массива s2 - слова, начинающиеся на букву ц; из массива s3 - слова, начинающиеся на букву а.
Const n1=15; n2=10; n3=12; type V=array[1..15] of string; procedure M_in(s:string; var a:V; n:integer); { ввод данных в массив } var i:integer; begin Writeln('Вводите по одному ',n,' элементов массива ',s); for i:=1 to n do Readln(a[i]) end;
procedure M_out(var a:V; n:integer; c:char); { выводит элементы, начинающиеся с указанного символа } var i:integer; begin Writeln('*** Слова на букву ',c,' ***'); for i:=1 to n do if a[i][1]=c then Writeln(a[i]); Writeln end;
var s1,s2,s3:V; begin M_in('S1',s1,n1); M_in('S2',s2,n2); M_in('S3',s3,n3); M_out(s1,n1,'В'); M_out(s2,n2,'Ц'); M_out(s3,n3,'А'); end.
выучи три команды из СКИ (системы команд исполнителя) "Стрелочка". Это будет быстрее чем задавать вопросы в И-нет: ШАГ -перемещение на одно деление с рисованием линии; ПРЫЖОК -перемещение на одно деление без рисования линии; ПОВОРОТ -изменение направления движения на 90 гр. против часовой стрелки. А пока держи алгоритмы (исходные данные то же, что и в предыдущих примерах:
Строчные и прописные латинские буквы: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z пробел подчеркивание: _ арабские цифры: 0 1 2 3 4 5 6 7 8 9 знаки операций: + - * / = <> < > <= >= := @ ограничители: . , ' ( ) [ ] (. .) { } (* *) .. : ; спецификаторы: ^ # $ служебные (зарезервированные) слова: ABSOLUTE EXPORTS LIBRARY SET ASSEMBLER EXTERNAL MOD SHL AND FAR NAME SHR ARRAY FILE NIL STRING ASM FOR NEAR THEN ASSEMBLER FORWARD NOT TO BEGIN FUNCTION OBJECT TYPE CASE GOTO OF UNIT CONST IF OR UNTIL CONSTRUCTOR IMPLEMENTATION PACKED USES DESTRUCTOR IN PRIVATE VAR DIV INDEX PROCEDURE VIRTUAL DO INHERITED PROGRAM WHILE DOWNTO INLINE PUBLIC WITH ELSE INTERFACE RECORD XOR END INTERRUPT REPEAT EXPORT LABEL RESIDENT
n1=15;
n2=10;
n3=12;
type
V=array[1..15] of string;
procedure M_in(s:string; var a:V; n:integer);
{ ввод данных в массив }
var i:integer;
begin
Writeln('Вводите по одному ',n,' элементов массива ',s);
for i:=1 to n do Readln(a[i])
end;
procedure M_out(var a:V; n:integer; c:char);
{ выводит элементы, начинающиеся с указанного символа }
var i:integer;
begin
Writeln('*** Слова на букву ',c,' ***');
for i:=1 to n do
if a[i][1]=c then Writeln(a[i]);
Writeln
end;
var
s1,s2,s3:V;
begin
M_in('S1',s1,n1);
M_in('S2',s2,n2);
M_in('S3',s3,n3);
M_out(s1,n1,'В');
M_out(s2,n2,'Ц');
M_out(s3,n3,'А');
end.