По мнению дениса, вы уже точно знаете всё о библиотеке pil. сейчас его больше интересует, насколько хорошо вы изучили работу с пакетом imagedraw. как вам известно, этот пакет предназначен для отрисовки на изображении различных примитивов, однако денису не хватает функциональности. он просит вас расширит класс pil.imagedraw.imagedraw и создать его наследника imagedrawer. от нового класса требуется реализовать два новых метода: right_arrow(xy, fill, outline) и left_arrow(xy, fill, outline). метод right_arrow предназначен для отрисовки стрелки, направленной вправо. стрелка вписана в прямоугольник xy, заданный кортежем из четырёх значений: x1, y1 (координаты верхнего левого угла) и x2, y2 (координаты нижнего правого угла). толщина стрелки составляет 60 % высоты прямоугольника, а острие стрелки — 20 % ширины. метод left_arrow предназначен для отрисовки стрелки, направленной влево. стрелка вписана в прямоугольник xy, заданный кортежем из четырёх значений: x1, y1 (координаты верхнего левого угла) и x2, y2 (координаты нижнего правого угла). толщина стрелки составляет 60 % высоты прямоугольника, а острие стрелки — 20 % ширины. параметры fill (цвет заливки), outline(цвет границы) у обоих методов являются необязательными, задайте им значение по умолчанию «в духе» pil.imagedraw.imagedraw. решение должно содержать только требуемый класс, ничего вызывать не надо.
Всё таки есть сомнение нужна сумма нечётных элементов массива или сумма элементов массива с нечётными индексами?
В данной прграмме подсчитывается сумма нечётных элементов массива
Если же нужно второе то строку отмеченную {*} следует заменить на
if (i mod 2)>0 then s:=s+a[i];
Program massiv;
Uses Crt;
var a:array[1..10] of integer;
i,sum,ch:integer;
begin
clrscr;
write('Введите число:' );
readln(ch);
write('Введите элементы массива:');
sum:=0;
for i:=1 to 10 do
begin
readln(a[i]);
if (a[i] mod 2)>0 then s:=s+a[i]; {*}
end;
writeln; write('Исходный массив: ');
for i:=1 to 10 do
begin
write(a[i]);
write(' ' );
end;
writeln; writeln;
write('Сумма нечётных элементов массива: ',sum)
writeln; writeln;
write('Номера элементов которые больше числа ',ch,' : ' );
for i:=1 to 10 do
if (a[i]>ch) then
begin
write(i:2);
write(' ' );
end;
writeln; writeln;
write('Положительные числа которые кратны числу ',ch,' : ' );
for i:=1 to 10 do
if (a[i]>0) and (a[i] mod ch=0) then
begin
write(a[i]);
write(' ' );
end;
readkey;
end.