program z1;
ar x,y:integer;
begin
readln(x);
readln(y);
if (x=0) and (y=0) then write(0)
else
begin
if (x>=0) and (y>=0) then write(1);
if (x<=0) and (y>=0) then write(2);
if (x<=0) and (y<=0) then write(3);
if (x>=0) and (y<=0) then write(4)
end
end.
Объяснение:
Если точка лежит в начале координат, т.е. х = 0 и у = 0, то выводим 0, иначе выводим какой четверти принадлежит точка, начиная с 1 четверти и по порядку.
Нестрогие условия (>= и <=) и оператор write (нет перехода на новую строку) позволяют выводить два номера четверти, если точка лежит на одной из осей, а расположение условий для четвертей по порядку позволяет соблюсти условие о том, что сначала необходимо выводить меньший номер.
Поскольку в условии не сказано, каким образом поступать с входными данными (должны ли они оставаться неизменными после завершения работы программы или нет), введем понятие "ресурс клавиши" и будем хранить ресурс для каждой из клавиш в массиве c.
Ресурс - текущее состояние клавиши (сколько еще нажатий она может выдержать. В начале ресурс равен кол-ву нажатий, выдерживаемых клавишей). Каждый раз, когда мы получаем очередное число из четвертой строки (новую нажатую клавишу), мы уменьшаем ее ресурс.
В итоге все клавиши, у которых ресурс оказался меньше нуля, будут неработо Исходный код и результат работы представлен ниже:
#include <iostream>
int main()
{
int n; // Количество клавиш на клавиатуре
int c[100]; // Количество нажатий, выдерживаемых i-ой клавишей
int k; // Общее количество нажатий клавиш
int i; // Счетчик
int key; // Нажатая клавиша
// Первая строка
std::cin >> n;
// Вторая строка
for (i = 0; i < n; i++)
std::cin >> c[i];
// Третья строка
std::cin >> k;
// Четвертая строка
for (i = 0; i < k; i++)
{
std::cin >> key;
c[key - 1]--; // Уменьшаем ресурс клавиши
}
for (i = 0; i < n; i++)
{
// Если ресурс израсходован, клавиша сломана
if (c[i] < 0) std::cout << "yes" << std::endl;
else std::cout << "no" << std::endl;
}
return 0;
}
Поделитесь своими знаниями, ответьте на вопрос:
Дано действительное число х. вычислить x-x^3/3! +x^5/5! +x^9/9! -x^11/11! +x^13/13!
x, s, a: real;
i: integer;
begin
write('Введите x');
readln(x);
a := x;
s := a;
for i := 1 to 6 do
begin
a := a * (-1) * x * x / (2 * i) / (2 * i + 1);
s := s + a;
end;
writeln('S = ', s:10:3);
end.