/* 1 */
#include <stdio.h>
struct Point {
double x, y;
};
struct Point fillPoint(unsigned short int id) {
struct Point p;
printf("Точка №%d\n", id);
printf("x = ");
scanf("%lf", &(p.x));
printf("y = ");
scanf("%lf", &(p.y));
return p;
}
int pointsInSameQuarter(struct Point p1, struct Point p2) {
if ( ( (p1.x > 0) && (p2.x > 0) ) || ( (p1.x < 0) && (p2.x < 0) ) ) { /* xs */
if ( ( (p1.y > 0) && (p2.y > 0) ) || ( (p1.y < 0) && (p2.y < 0) ) ) { /* ys */
return 1;
}
}
return 0;
}
int main() {
struct Point p1 = fillPoint(1), p2 = fillPoint(2);
printf("Точки %sв одной координатной четверти", (pointsInSameQuarter(p1, p2) ? "" : "не "));
}
/* 2 */
#include <stdio.h>
#include <math.h>
int main() {
int x;
printf("x = ");
scanf("%d", &x);
float r;
int c = 0;
for (int d = 1; d <= x; d++) {
r = (float) x / d;
if ( ceilf(r) == r ) c++;
}
printf("Ответ: %d", c);
}
Предположим что отрезок будет равен X см тогда зная координату точки можно узнать будет ли точка принадлежать отрезку надо просто длинна отрезка минус значение координаты
program zadacha;
var x1,y1,x2,y2,x3,y3,a,b: real;
begin
writeln('Введите координаты x1,y1');
readln(x1,y1);
writeln('Введите координаты x2,y2');
readln(x2,y2);
writeln('Введите координаты x3,y3');
readln(x3,y3);
a:=(y1-y2)/(x1-x2);
b:=((y1+y2)-a*(x1+x2))/2;
if (y3 = a*x3+b) and (x3 > x1) and (x3 < x2) or (y3 = a*x3+b) and (x2 > x1) and (x3 < x1)
then writeln('Точка принадлежит отрезку')else writeln('Точка не принадлежит отрезку')
end.
const N=10000;
var a:array[1..n] of integer;
i,l,s:integer;
begin
writeln('Введите количество элементов массива');
readln(l);
writeln('Сгенерированный массив: ');
s:=0;
for i:=1 to l do begin
a[i]:=random (101)-50;
s:=s+a[i];
write(a[i]:4);
end;
writeln;
write('Сумма: ',s);
end.
Задание 6:
Ответ - 3( Сместиться на 16; -17)