Программа поиска элемента в произвольном массиве: const n=10; var a:array[1..n+1] of integer; p,i:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(21); write(a[i]:4); end; writeln; write('p = '); readln(p); a[n+1]:=p; i:=1; while a[i]<>p do i:=i+1; if i<=n then writeln('Искомый элемент найден, его номер = ',i) else writeln('Искомый элемент не найден'); end.
Пример 1: Исходный массив: 7 17 16 13 0 1 19 20 12 5 p = 13 Искомый элемент найден, его номер = 4
Пример 2: Исходный массив: 20 4 5 12 14 10 11 16 18 20 p = 15 Искомый элемент не найден
x
2
+
y
2
=
16
...
...
...
...
...
...
.
.
(
1
)
x + y = 4 (2)
rearrange (2) to y = 4 - x (could do x = 4 - y )
substitute y = 4 - x into (1)
hence:
x
2
+
(
4
−
x
)
2
=
16
⇒
x
2
+
16
−
8
x
+
x
2
=
16
and
2
x
2
−
8
x
+
16
−
16
=
0
⇒
2
x
2
−
8
x
=
0
factor and solve : 2x(x - 4 ) = 0
⇒
x
=
0
,
x
=
4
substitute these values into y = 4 - x , to find corresponding values of y.
x = 0 : y = 4 - 0 = 4 → (0 , 4)
x = 4 : y = 4 - 4 = 0 → (4 , 0 )
These are the points of intersection with the line x +y = 4 and the circle
x
2
+
y
2
=
16
Answer link
Объяснение:
const n=10;
var a:array[1..n+1] of integer;
p,i:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(21);
write(a[i]:4);
end;
writeln;
write('p = '); readln(p);
a[n+1]:=p;
i:=1;
while a[i]<>p do i:=i+1;
if i<=n
then writeln('Искомый элемент найден, его номер = ',i)
else writeln('Искомый элемент не найден');
end.
Пример 1:
Исходный массив:
7 17 16 13 0 1 19 20 12 5
p = 13
Искомый элемент найден, его номер = 4
Пример 2:
Исходный массив:
20 4 5 12 14 10 11 16 18 20
p = 15
Искомый элемент не найден