Program p1; const n=10; var a:array[1..n] of integer; i:integer;begin randomize; for i:=1 to n do begin a[i]:=random(10); if (a[i] mod 2)=0 then a[i]:=0; end; for i:=1 to n do begin writeln(a[i]); end;
Так как в задании не указано, что введенное слово должно обрамляться пробелами, то код может быть такой:
var s,a:string; begin write('Введите строку : '); readln(s); write('Введите слово : '); readln(a); if(pos(a, s) <> 0) then writeln('Слово "',a,'" в строке есть') else writeln('В строке такого слова нет'); end.
Тест №1 Введите строку : Привет участникам олимпиады! Введите слово : ник Слово "ник" в строке есть
Тест №2 Введите строку : Всем привет! Введите слово : админ В строке такого слова нет
В начале в строке находилось 333 троек по 8 плюс одна 8, всего 1000 восьмерок. 1. При выполнения цикла каждая из троек 8 будет заменена на одну 9. Значит у нас получится строка длиной в 334 символа, где 333 девятки и последний символ - восьмерка 2. Далее 333 девятки заменятся на 111 восьмерок плюс последняя восьмерка - всего получим 112 восьмерок 3. Из 112 восьмерок получится 37 девяток и одна восьмерка 4. И 37 девяток получим 12 восьмерок плюс одна девятка и плюс последняя восьмерка 5. 12 восьмерок дадут 4 девятки плюс последние 9 и 8 6. И наконец получаем строку 8998 ответ: 8998
const n=10;
var a:array[1..n] of integer;
i:integer;begin
randomize;
for i:=1 to n do
begin
a[i]:=random(10);
if (a[i] mod 2)=0 then a[i]:=0;
end;
for i:=1 to n do
begin
writeln(a[i]);
end;
end.