Polhova1606
13.07.2020 15:37

Условие Лавочки в парке устроены следующим образом. Несколько одинаковых кубических гранитных блоков ставятся в ряд, а на них кладется гранитная плита (см. рисунок). Архитектор-модернист решил, что будет интереснее, если у всех лавочек расположение гранитных блоков-ножек будет разным (и не обязательно симметричным). При этом они располагаются так, чтобы плита не падала: для этого достаточно, чтобы и слева, и справа от центра плиты был хотя бы один гранитный блок или его часть (в частности, если центр плиты приходится на середину какого-нибудь блока, то и слева, и справа от центра плиты находится часть блока, и плита не падает).
Формат входных данных
В первой строке входного потока записаны два числа: L – длина лавочки и K – количество гранитных блоков-ножек. Оба числа натуральные и не превышают 10 000.
Во второй строке записано K различных целых неотрицательных чисел, задающих положение каждой ножки. Положение ножки определяется расстоянием от левого края плиты до левого края ножки (ножка – это куб размером 1×1×1). Ножки перечислены слева направо (то есть начиная с ножки с меньшим расстоянием до левого края)
Формат выходных данных
В выходном потоке требуется перечислить ножки, которые грабителям нужно оставить. Для каждой ножки нужно выдать ее положение, как оно задано во входном потоке. Ножки следует перечислять слева направо, как они встречаются во входном потоке.
Код:
Pascal-
Var
cord:array[1..1000] of longint;
blk:array[1..1000] of real;
l,k,i,blr,rr,bll,kk:longint;
cer:real;
Begin
Read(l,k);
for i:=1 to k do
Read(cord[i]);
cer:=l/2;

bll:=cord[1];
blr:=1;
for i:=1 to round(cer) do
begin
if (cord[i]>bll) then
begin
bll:=cord[i];
blr:=i;
end;
end;

kk:=cord[k];
rr:=k;
for i:=k downto round(cer) do
begin
if (cord[i] begin
kk:=cord[i];
rr:=i;
end;
end;
write(blr,' ',rr);
end.
почемуто выдает неверный результат допустим
ввод:
13 4
1 4 8 11
вывод
4 8,а у меня 4 4

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
karas14
25.12.2021 15:11
1)
#include <iostream>
#include <math.h>

using namespace std;

double circle_perimtr(int r) {
    return 2*M_PI*r;
}

int main() {
    int r;
    cin >> r;
    r > 0 ? cout << circle_perimtr(r) << endl : cout << "wrong" << endl;
}
2)
#include <iostream>
#include <limits.h>

using namespace std;

double max_height(int* heights) {
    int max = INT_MIN;
    for(int i = 0; i < 6; i++)
        if(heights[i] > max) max = heights[i];
    return max;
}

int main() {
    int heights[6];
    for(int i = 0; i < 6; i++)
        cin >> heights[i];
    cout << max_height(heights) << endl;
}
0,0(0 оценок)
Ответ:
Nikita20330
25.12.2021 15:11
Var
  x, y, rx, ry: real;
  n: integer;
  s: string;

begin
  writeln('Введите два положительных числа');
  readln(x, y);
  writeln('Введите код операции от 1 до 4');
  readln(n);
  case n of
    1: begin rx := sin(x); ry := sin(y); s := 'sinX' end;
    2: begin rx := cos(x); ry := cos(y); s := 'cosX' end;
    3: begin rx := tan(x); ry := tan(y); s := 'tgX' end;
    4: begin rx := 1 / tan(x); ry := 1 / tan(y); s := 'ctgX' end;
  else begin rx := 0; ry := 0; s := '???' end
  end;
  writeln('Результаты для ', s, ': ', rx, ', ', ry)
end.

Тестовое решение:

Введите два положительных числа
4 5
Введите код операции от 1 до 4
2
Результаты для cosX: -0.653643620863612, 0.283662185463226

Сделайте программу и блок-схему к : даны два действительных положительных числа x и y. тригонометрич
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота