6 / 4 / 0
Регистрация: 12.01.2010
Сообщений: 77
1

Определить сколько раз меняется знак в последовательности. Найти номера пары точек, расстояние мужду которыми наибольшее.

16.01.2010, 13:03. Показов 3296. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
23. Задан массив действительных чисел. Определить, сколько раз меняется знак в данной последовательности чисел, запомнить номера позиций, в которых происходит смена знака.

23. Даны координаты п точек на плоскости: (X1, Y1),..., (Xn, Yn) (п ? 30). Найти номера пары точек, расстояние между которыми наибольшее (считать, что такая пара единственная).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2010, 13:03
Ответы с готовыми решениями:

Найти номера пары точек, расстояние между которыми наибольшее
5)Даны координаты n точек на плоскости: (X1,Y1), ...,(Xn,Yn)(n<30). найти номера пары точек,...

Найти номера пары точек, расстояние между которыми наибольшее
Даны координаты n точек на плоскости: (X1, Y1),…, (Xn , Yn) (n≤30). Найти номе-ра пары точек,...

Найти номера пары точек, расстояние между которыми наибольшее
Даны координаты п точек на плоскости (x1, y1), •••(xn , yn) (n < 30). Найти номера пары то-чек,...

Найти пары номера точек, расстояние между которыми наибольшее
Нужна помощь срочно на Turbo Pascale выручайте плизз!!!!!! Задача 1: Даны координаты точек на...

5
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
16.01.2010, 13:12 2
23.
Pascal
1
2
3
4
5
6
7
8
9
writeln('Смена знака происходит в позициях:');
k:=0;
for i:=2 to n do
if a[i]*a[i-1]<0 then
 begin
  k:=k+1;
  write(i,' ');
 end;
write('Всего ',k,' рз.');
1
6 / 4 / 0
Регистрация: 12.01.2010
Сообщений: 77
16.01.2010, 15:45  [ТС] 3
А можно подробней расписать?
0
119 / 119 / 41
Регистрация: 21.12.2009
Сообщений: 194
16.01.2010, 16:17 4
23. Когда-то больные, сексуальные фантазии препода изволили сделать велосипед из этой программы, поэтому если вам сойдет велосипед, то держите, катайтесь...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
program kol_smen_znaka;
uses crt;
var
   a:array [1..100] of integer;
   i,n,k:integer;
begin
 clrscr;
 repeat
  write ('Vvedite kol-vo elementov massiva (ne bolee 100): ');
  readln (n);
 until (n>0) and (n<=100);
 for i:=1 to n do
  begin
   write ('Vvedite ',i,'-i element massiva: ');
   readln (a[i]);
  end;
  k:=0;
  if (a[1]>=0) then
   begin
    for i:=2 to n do
    if (a[i]<0) and (a[i-1]>=0) then
     begin
      k:=k+1;
     end
    else if (a[i]>=0) and (a[i-1]<0) then
     begin
      k:=k+1;
     end;
   end
  else if (a[i]<0) then
   begin
    for i:=2 to n do
    if (a[i]>=0) and (a[i-1]<0) then
     begin
      k:=k+1;
     end
    else if (a[i]<0) and (a[i-1]>=0) then
     begin
      k:=k+1;
     end;
  end;
 writeln ('Kollichestvo smen znaka = ',k);
 readln;
end.
1
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
16.01.2010, 16:42 5
А вот простенький вариант для случайных вещественных чисел, чтобы не думать, если рядом три ноля, то сколько смен знака?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
uses crt;
var a:array[1..100] of real;{масив вещественных чисел}
    n,i,k:integer;
begin
randomize;
clrscr;
write('n=');{размер массива}
readln(n);
writeln('Массив:');
for i:=1 to n do
 begin
  a[i]:=10*random-4;{случайные числа от -4 до 6}
  write(a[i]:5:1);
 end;
writeln;
writeln('Смена знака происходит в позициях:');
k:=0;
for i:=2 to n do
if a[i]*a[i-1]<0 then{если произведение соседей отрицательное, смена знака}
 begin
  k:=k+1;{считаем}
  write(i,' ');{выводим}
 end;
write('Всего ',k,' рз.');
readln
end.
Добавлено через 18 минут
Вторая.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
uses crt;
function Rasst(x1,y1,x2,y2:real):real;
begin
Rasst:=sqrt(sqr(x1-x2)+sqr(y1-y2));//определение расстояния между двумя точками
end;
var a:array[1..2,1..100] of real;//масив координат точек
    mx:real;
    n,i,j,imx,jmx:integer;
begin
clrscr;
randomize;
write('Количество точек (нормально до 13) = ');
readln(n);
for i:=1 to n do
 begin
  a[1,i]:=10*random-4;
  a[2,i]:=10*random-4;
 end;
write('Нoмер точки ');
for i:=1 to n do write(i:5);
writeln;
write('координата Х');
for i:=1 to n do write(a[1,i]:5:1);
writeln;
write('координата Y');
for i:=1 to n do write(a[2,i]:5:1);
writeln;
writeln;
mx:=Rasst(a[1,1],a[2,1],a[1,2],a[2,2]);//пока макс. расст. между 1 и 2.
imx:=1;//номера точек
jmx:=2;
for i:=1 to n-1 do//от точки
for j:=i+1 to n do//смотрим впереди ее
if Rasst(a[1,i],a[2,i],a[1,j],a[2,j])>mx then//если есть больше расст.
   begin
    mx:=Rasst(a[1,i],a[2,i],a[1,j],a[2,j]);//оно макс.
    imx:=i;//номера точек
    jmx:=j;
   end;
write('Максимальное расстояние между точками ',i,' - ',j,' = ',mx:0:2);
readln
end.
1
6 / 4 / 0
Регистрация: 12.01.2010
Сообщений: 77
16.01.2010, 22:42  [ТС] 6
Огромное спасибо!!!=))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2010, 22:42
Помогаю со студенческими работами здесь

Найти номера пары точек, расстояние между которыми наибольшее
. Даны координаты n точек на плоскости: (X1, Y1),…, (Xn , Yn)...

Найти номера пары точек, расстояние между которыми наибольшее
Даны координаты n точек на плоскости: (X1, Y1),…, (Xn , Yn) (n≤30). Найти номе-ра пары точек,...

Найти номера пары точек, расстояние между которыми наибольшее
Даны координаты n точек на плоскости: (X1, Y1),…, (Xn , Yn) (n≤30). Найти номе-ра пары точек,...

Одномерные массивы. Найти номера пары точек, расстояние между которыми наибольшее
Ребят, помогите пожалуйста. Нужен ПОЛНЫЙ КОД. Вот задача: Даны координаты n точек на плоскости:...

Найти номера пары точек, расстояние между которыми наибольшее (считать, что такая пара единственная).
Доброго времени, никак не могу понять как делать эти две программки. Во второй меня интересует как...

Найти номера пары точек, расстояние между которыми наибольшее (считать, что такая пара единственная)
Даны координаты n точек на плоскости (x1,y1),..,(xn,yn) n&lt;=30 Найти номера пары точек, расстояние...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru