Предмет: Информатика, автор: krolikreaktivnyj

Переведите пожалуйста с pascal на c++
var L, k, n, i: longint;
a: array [0..9999] of boolean;
begin
Readln (L, k);
For i:= 1 to k do begin
read (n); a[n]:= true;
end;
if (L mod 2<> 0 ) and (a[L div 2]) then begin write (L div 2); halt; end;
For i:= (L-1) div 2 downto 0 do {цикл от середины влево}
if a [i] then begin write (i, ' '); break; end;
For i:= (L div 2 ) to L-1 do {цикл от середины вправо}
if a [i] then begin write (i, ' '); break; end;
end.


Аноним: У Вас либо в конце лишний end, либо Вы что-то пропустили.
Аноним: А так, без точки в конце, программа не откомпилируется в Паскале.

Ответы

Автор ответа: Аноним
1
#include <iostream>

int main(){
long L,k,n,i;
bool *a=new bool[10000]
cin>>L>>k;
for (int i=0;i<k;i++)
{
std::cin>>n;
a[n]=true;
}
if (L%2!=0 & a[L/2])
{
std::cout<<L/2;
return 1;
}
for (int i=(L-1)/2;i>0;i--)
if (a[i])
{
std::cout<<i<<' ';
break;
}
return 0;
}
Похожие вопросы
Предмет: Алгебра, автор: Аноним