ПОМОГИТЕ НАЙТИ ОШИБКУ В РЕШЕНИИ!!!
10-11 класс
|
Где начать цикл?
с клавиатуры вводится предложение, в котором слова разделены пробелами. определите, сколько слов в этом предложении начинается на букву "а".
Program Pr1;
var s, s1, s2:string;
count, n, i:integer;
begin
writeln('введите фразу');
readln(s);
count:=0;
for i:=1 to length(s) do
begin
n:=Pos(' ', s);
s1:=Copy(s,1,n-1);
s2:=Copy(s1,1,1);
if s2='а' then
count:=count+1;
Delete(s,1,1);
end;
writeln(count);
end.
В этом случае не надо применять цикл со счетчиком. Тогда программа будет выглядеть так:
var
s, s1, s2:string;
count, n, i:integer;
begin
writeln('введите фразу');
readln(s);
count:=0;
s1:=s;
repeat
n:=Pos(' ', s1);
s2:=Copy(s1,1,1);
if s2='а' then count:=count+1;
Delete(s1,1,n);
until n=0;
writeln(count);
end.
Другие вопросы из категории
мастер функций
столбец перевода чисел в десятичный код.(числа мы уже нашли).
1)101 101 (45)2)1000 1000(136)
3)1001 1000(152)
4)1011 110(94)
5)1100 110(102)
6)1100 111(103)
7)1011 111(95)
8)1011 10(46)
9)1001 10(38
10)1001 11(39)
11)1010 11(43)
12)1010 100(84)
13)111 100(60)
14)111 10(30)
15)101 10(22)
16)101 11(23)
17)110 11(27)
18)110 1001(105)
19)111 1001(121)
20)111 1000(120)
21)10 1000(40)
22)10 1001(41)
23)11 1001(57)
24)11 110(30)
25)100 101 (37)
procedure F (n:integer);
begin
if n>1 then
begin
F(n div 2) ;
F(n-1)
end;
write ('*')
end;
Читайте также
Var a:b;c:Integer;
Begin
Writeln('Введите число ',a);
Readln('a')
b=5
c:=ab;
Writeln('произведение a и b'равно',S);
Readln(a);
End
Program test;
uses crt;
Const
N=5;
var a : array [1..N] of integer;
var i , Max , k , t , f : integer;
begin
For i:=1 to N do
A[i]:=random(8);
write ('Массив');
writeln;
For i:=1 to N do
begin
write (A[i]);
write (' ');
end;
writeln;
For i:=1 to (N-1) do
begin
Max:=A[i];
For k:=i+1 to N do
If (A[k]>Max) then
begin
Max:=A[k];
f:=k;
end;
t:=A[i];
A[i]:=A[f];
A[f]:=t;
end;
write ('Упорядоченный массив');
writeln;
For i:=1 to N do
begin
write (A[i]);
write (' ');
end;
end.
После end должна стоять запятая...это же цикл , надеюсь на вашу помощь...
Program test;
uses crt;
Const
N=5;
var a : array [1..N] of integer;
var i , Max , k , t , f : integer;
begin
For i:=1 to N do
A[i]:=random(8);
write ('Массив');
writeln;
For i:=1 to N do
begin
write (A[i]);
write (' ');
end;
writeln;
For i:=1 to (N-1) do
begin
Max:=A[i];
For k:=i+1 to N do
If (A[k]>Max) then
begin
Max:=A[k];
f:=k;
end;
t:=A[i];
A[i]:=A[f];
A[f]:=t;
end;
write ('Упорядоченный массив');
writeln;
For i:=1 to N do
begin
write (A[i]);
write (' ');
end;
end.