По разделам

 

Решение задачи Array 135


Даны множества A и B, состоящие соответственно из N1 и N2 точек (точки заданы своими координатами x, y). Найти минимальное расстояние между точками этих множеств и сами точки, расположенные на этом расстоянии (вначале выводится точка из множества A, затем точка из множества B).

Код (C/C++)

#include <stdio.h>
 
int main(void)
{
    float a[10][2], b[10][2];
    int n1,n2;
 
    printf("N1: ");
    scanf("%i",&n1);
 
    printf("N2: ");
    scanf("%i",&n2);
 
    int i;
    for (i=0; i<n1; ++i){
        printf("a[%i]:\n",i+1);
        printf("  x : ");
        scanf("%f",&a[i][0]);
        printf("  y : ");
        scanf("%f",&a[i][1]);
    }
 
    for (i=0; i<n2; ++i){
        printf("b[%i]:\n",i+1);
        printf("  x : ");
        scanf("%f",&b[i][0]);
        printf("  y : ");
        scanf("%f",&b[i][1]);
    }
 
    int amin=0, bmin=0,i2;
    float r,rmin=sqrt(pow(a[0][0]-b[0][0],2)+pow(a[0][1]-b[0][1],2));
 
    for (i=0; i<n1; ++i){
        for (i2=0; i2<n2; ++i2){
            r= sqrt(pow(a[i][0]-b[i2][0],2)+pow(a[i][1]-b[i2][1],2));
            if (r < rmin) {
                rmin=r;
                amin=i;
                bmin=i2;
            }
        }
    }
 
    printf("R: %f\n",rmin);
    printf("A  %i :\n x: %f\n y: %f\n",amin+1,a[amin][0],a[amin][1]);
    printf("B  %i :\n x: %f\n y: %f\n",bmin+1,b[bmin][0],b[bmin][1]);
 
    return 0;
}

Код (Pascal)

program Array135;
var
 A,B: array [1..10,1..2] of real;
 R,Rmin:real;
 N1,N2,i,i2,Point1,Point2: integer;
 
begin
 Write('N1: ');
 Readln(N1);
 
 Writeln('A: ');
 for i:=1 to N1 do
  begin
   write(i,'.x :');
   readln(a[i,1]);
   write(i,'.y :');
   readln(a[i,2]);
  end;
 
 Write('N2: ');
 Readln(N2);
 
 Writeln('B: ');
 for i:=1 to N1 do
  begin
   write(i,'.x :');
   readln(b[i,1]);
   write(i,'.y :');
   readln(b[i,2]);
  end;
 
 
 Rmin:=sqrt(sqr(A[1,1]-B[1,1])+sqr(A[1,2]-B[1,2]));
 Point1:=1;
 Point2:=1;
 
 
 for i:=1 to N1 do
  for i2:=1 to N2 do
   begin
    R:=sqrt(sqr(A[i,1]-B[i2,1])+sqr(A[i,2]-B[i2,2]));
    if (R < Rmin) then
     begin
      Rmin:=R;
      Point1:=i;
      Point2:=i2;
     end;
   end;
 
  Writeln ('R:',Rmin,' (',A[Point1,1],':',A[Point1,2],') (',B[Point2,1],':',B[Point2,2],')');
end.
									




Array. Абрамян
Array 1 Просмотров: 10053
Array 2 Просмотров: 6953
Array 3 Просмотров: 5666
Array 4 Просмотров: 4835
Array 5 Просмотров: 6541
Array 6 Просмотров: 4497
Array 7 Просмотров: 4403
Array 8 Просмотров: 4690
Array 9 Просмотров: 4213
Array 10 Просмотров: 3871
Array 11 Просмотров: 4636
Array 12 Просмотров: 3719
Array 13 Просмотров: 3305
Array 14 Просмотров: 2808
Array 15 Просмотров: 4360
Array 16 Просмотров: 3374
Array 17 Просмотров: 3261
Array 18 Просмотров: 4370
Array 19 Просмотров: 2900
Array 20 Просмотров: 4618
Array 21 Просмотров: 2635
Array 22 Просмотров: 2383
Array 23 Просмотров: 2805
Array 24 Просмотров: 2623
Array 25 Просмотров: 2168
Array 26 Просмотров: 2829
Array 27 Просмотров: 2326
Array 28 Просмотров: 3025
Array 29 Просмотров: 1754
Array 30 Просмотров: 2572
Array 31 Просмотров: 2022
Array 32 Просмотров: 2403
Array 33 Просмотров: 1768
Array 34 Просмотров: 2071
Array 35 Просмотров: 1452
Array 36 Просмотров: 1533
Array 37 Просмотров: 3042
Array 38 Просмотров: 1616
Array 39 Просмотров: 1667
Array 40 Просмотров: 1878
Array 41 Просмотров: 1687
Array 42 Просмотров: 1339
Array 43 Просмотров: 1609
Array 44 Просмотров: 1484
Array 45 Просмотров: 1542
Array 46 Просмотров: 1350
Array 47 Просмотров: 1776
Array 48 Просмотров: 2879
Array 49 Просмотров: 1759
Array 50 Просмотров: 1304
Array 51 Просмотров: 2111
Array 52 Просмотров: 1953
Array 53 Просмотров: 1504
Array 54 Просмотров: 1497
Array 55 Просмотров: 1373
Array 56 Просмотров: 1228
Array 57 Просмотров: 1463
Array 58 Просмотров: 1365
Array 59 Просмотров: 1743
Array 60 Просмотров: 1260
Array 61 Просмотров: 1212
Array 62 Просмотров: 2072
Array 63 Просмотров: 1616
Array 64 Просмотров: 1328
Array 65 Просмотров: 1705
Array 66 Просмотров: 1550
Array 67 Просмотров: 1268
Array 68 Просмотров: 2424
Array 69 Просмотров: 1843
Array 70 Просмотров: 1731
Array 71 Просмотров: 1456
Array 72 Просмотров: 1375
Array 73 Просмотров: 1156
Array 74 Просмотров: 1393
Array 75 Просмотров: 1566
Array 76 Просмотров: 1385
Array 77 Просмотров: 1174
Array 78 Просмотров: 1387
Array 79 Просмотров: 1155
Array 80 Просмотров: 1130
Array 81 Просмотров: 1041
Array 82 Просмотров: 929
Array 83 Просмотров: 847
Array 84 Просмотров: 837
Array 85 Просмотров: 985
Array 86 Просмотров: 1453
Array 87 Просмотров: 845
Array 88 Просмотров: 894
Array 89 Просмотров: 934
Array 90 Просмотров: 1722
Array 91 Просмотров: 1082
Array 92 Просмотров: 1328
Array 93 Просмотров: 1326
Array 94 Просмотров: 1138
Array 95 Просмотров: 1543
Array 96 Просмотров: 1263
Array 97 Просмотров: 1138
Array 98 Просмотров: 1851
Array 99 Просмотров: 1089
Array 100 Просмотров: 1053
Array 101 Просмотров: 1101
Array 102 Просмотров: 832
Array 103 Просмотров: 898
Array 104 Просмотров: 877
Array 105 Просмотров: 705
Array 106 Просмотров: 1091
Array 107 Просмотров: 930
Array 108 Просмотров: 992
Array 109 Просмотров: 925
Array 110 Просмотров: 999
Array 111 Просмотров: 871
Array 112 Просмотров: 1686
Array 113 Просмотров: 1205
Array 114 Просмотров: 1049
Array 115 Просмотров: 1164
Array 116 Просмотров: 2114
Array 117 Просмотров: 1600
Array 118 Просмотров: 865
Array 119 Просмотров: 762
Array 120 Просмотров: 939
Array 121 Просмотров: 885
Array 122 Просмотров: 955
Array 123 Просмотров: 912
Array 124 Просмотров: 785
Array 125 Просмотров: 811
Array 126 Просмотров: 750
Array 127 Просмотров: 757
Array 128 Просмотров: 830
Array 129 Просмотров: 834
Array 130 Просмотров: 872
Array 131 Просмотров: 1065
Array 132 Просмотров: 838
Array 133 Просмотров: 753
Array 134 Просмотров: 1175
Array 135 Просмотров: 664
Array 136 Просмотров: 885
Array 137 Просмотров: 763
Array 138 Просмотров: 684
Array 139 Просмотров: 836
Array 140 Просмотров: 1370

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться



Заявка на расчет