Тернарный оператор должен возвращать значение (или ссылку на переменную), которое потом можно использовать. Например, если в целочисленной переменной a записано число -3, то используя такой синтаксис:
int absa = a >= 0 ? a : -a;
можно присвоить переменной absa значение |-3| = 3.
Выражения break, continue (и, например, return) управляют выполнением программы, показывая, какую инструкцию выполнять следующей, и не возвращают никакого значения (даже void). Поэтому при попытке использовать такие выражения в качестве аргументов тернарного оператора, ожидающего, что оба аргумента вернут какое-то значение, возникает ошибка компиляции.
Если очень хочется использовать тернарный оператор для выхода из цикла (но зачем?) можно выбрасывать исключение, которое потом обрабатывать, например, так:
try {
int a = 5;
while(true) {
a == 0 ? throw "a equals 0" : (void) 0;
a--;
}
} catch (<span>char const*</span> s) {
if (s != "a equals 0") throw s;
};
Все считаю в одной программе, если что, можно у1 и у2 в
разные разнести
<span><span>
Var
x:integer;
y1,y2:real;
begin
writeln('</span>Введите х<span>');
readln(x);
y1:=(3*exp(4*ln(x))+1)/exp(3*ln(x));
y2:=sqrt(8+x)-sqrt(8-x);</span></span>
writeln(‘y1=’,y1);
writeln(‘y2=’,y2);
end.
program raf105;
var
a,i,j,s: integer;
f,st: string;
inA,inB: boolean;
begin
readln(a);
readln(f);
i:=1;
while i < length(f)-1 do
begin
st:= f[i] + f[i+1];
inA:= False;
inB:= False;
for j:=1 to length(st)-1 do
begin
if st[j] = 'a' then inA:= True;
if st[j] = 'b' then inB:= True;
end;
if (not inA) or (not inB) then
if st = 'bb' then
f[i+1]:= 'a'
else
f[i+1]:= 'b';
s:= s+1;
i+= 2;
end;
writeln(s);
for i:=1 to length(f)-1 do
write(f[i],' ');
end.
<h3>PascalABC</h3>
Браузеры Программы, с помощью которых просматриваются гипертексты в системе Всемирной паутины, называют