3. Сіз телевизиялық жабдықтарды орнату бойынша екі шеберді көріп тұрсыз. кабели и Шебер 1 Шебер 2 Биік тауларда орналасқан туристтік лагерде телевизялық жабдықты орнату үшін шеберді таңдаңыз. Өз тандауыңызды түсіндіріңіз.
Var s,sr:string; i,j,n:integer; pr:array of char=('.',',',';',':','!','?'); begin readln(s); s:=s.Trim; var ars:=s.ToWords(); s:=''; for i:=0 to ars.Length-1 do s+=ars[i]+' '; s:=s.Trim; i:=0; while i<>s.Length do begin inc(i); if (s[i] in pr) and (s[i-1]=' ') then delete(s,i-1,1); end; i:=0; while i<>s.Length-1 do begin inc(i); if (s[i] in pr) and (s[i+1]<>' ') then insert(' ',s,i+1); end; s:=s.Trim; writeln(s); end.
Пример ввода: Очень, очень ,очень , очень ,очень,очень много слов. Пример вывода: Очень, очень, очень, очень, очень, очень много слов.
PASCAL ABC
program z1;
var a,s:integer; //описание переменных
begin
readln(a); //вводим первое число
s:=0; //начальное значение суммы
while a<>0 do //условие ввода (ввод оканчивается нулем)
begin
if (a mod 10=4) and (a mod 6=0) then s:=s+a; //проверка двух условий: первая скобка - оканчивается на 5, вторая - кратно 6
readln(a) //заново вводим число
end;
writeln(s) //вывод суммы, когда весь цикл завершится
end.
P.S не особо понимаю, почему с таким вводом, такой ответ у тебя получается
Var
s,sr:string;
i,j,n:integer;
pr:array of char=('.',',',';',':','!','?');
begin
readln(s);
s:=s.Trim;
var ars:=s.ToWords();
s:='';
for i:=0 to ars.Length-1 do
s+=ars[i]+' ';
s:=s.Trim;
i:=0;
while i<>s.Length do
begin
inc(i);
if (s[i] in pr) and (s[i-1]=' ') then delete(s,i-1,1);
end;
i:=0;
while i<>s.Length-1 do
begin
inc(i);
if (s[i] in pr) and (s[i+1]<>' ') then insert(' ',s,i+1);
end;
s:=s.Trim;
writeln(s);
end.
Пример ввода:
Очень, очень ,очень , очень ,очень,очень много слов.
Пример вывода:
Очень, очень, очень, очень, очень, очень много слов.