По разделам

 

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


Дано множество A из N точек (N > 2, точки заданы своими координатами x, y). Найти наименьший периметр треугольника, вершины которого принадлежат различным точкам множества A, и сами эти точки (точки выводятся в том же порядке, в котором они перечислены при задании множества A).

Код (C/C++)

#include <stdio.h>
 
int main(void)
{
    float a[10][2];
    int n;
 
    printf("N: ");
    scanf("%i",&n);
 
    int i;
    for (i=0; i<n; ++i){
        printf("a[%i]:\n",i+1);
        printf("  x : ");
        scanf("%f",&a[i][0]);
        printf("  y : ");
        scanf("%f",&a[i][1]);
    }
 
    int p1=0,p2=1,p3=2,i2,i3;
    float p,pmin=0;
    pmin+= sqrt(pow(a[0][0]-a[1][0],2)+pow(a[0][1]-a[1][1],2));
    pmin+= sqrt(pow(a[0][0]-a[2][0],2)+pow(a[0][1]-a[2][1],2));
    pmin+= sqrt(pow(a[1][0]-a[2][0],2)+pow(a[1][1]-a[2][1],2));
 
 
    for (i=0; i<n; ++i)
        for (i2=i+1; i2<n; ++i2)
            for (i3=i2+1; i3<n; ++i3){
                p=0;
                p+= sqrt(pow(a[i][0]-a[i2][0],2)+pow(a[i][1]-a[i2][1],2));
                p+= sqrt(pow(a[i][0]-a[i3][0],2)+pow(a[i][1]-a[i3][1],2));
                p+= sqrt(pow(a[i2][0]-a[i3][0],2)+pow(a[i2][1]-a[i3][1],2));
                if (p < pmin) {
                    p1=i;
                    p2=i2;
                    p3=i3;
                    pmin=p;
                }
            }
 
 
    printf("P: %f\n",pmin);
    printf("A %i :\n x: %f\n y: %f\n",p1+1,a[p1][0],a[p1][1]);
    printf("A %i :\n x: %f\n y: %f\n",p2+1,a[p2][0],a[p2][1]);
    printf("A %i :\n x: %f\n y: %f\n",p3+1,a[p3][0],a[p3][1]);
    return 0;
}

Код (Pascal)

program Array138;
var
 A: array [1..10,1..2] of real;
 P,Pmin:real;
 N,i,i2,i3,Point1,Point2,Point3: integer;
 
begin
 Write('N: ');
 Readln(N);
 
 Writeln('A: ');
 for i:=1 to N do
  begin
   write(i,'.x :');
   readln(a[i,1]);
   write(i,'.y :');
   readln(a[i,2]);
  end;
 
 Pmin:=Pmin+sqrt(sqr(A[1,1]-A[2,1])+sqr(A[1,2]-A[2,2]));
 Pmin:=Pmin+sqrt(sqr(A[2,1]-A[3,1])+sqr(A[2,2]-A[3,2]));
 Pmin:=Pmin+sqrt(sqr(A[1,1]-A[3,1])+sqr(A[1,2]-A[3,2]));
 Point1:=1;
 Point2:=2;
 Point3:=3;
 
 for i:=1 to N do
  for i2:=i+1 to N do
   for i3:=i2+1 to N do
    begin
     P:=0;
     P:=P+sqrt(sqr(A[i,1]-A[i2,1])+sqr(A[i,2]-A[i2,2]));
     P:=P+sqrt(sqr(A[i2,1]-A[i3,1])+sqr(A[i2,2]-A[i3,2]));
     P:=P+sqrt(sqr(A[i,1]-A[i3,1])+sqr(A[i,2]-A[i3,2]));
     if Pmin>P then
      begin
       Pmin:=P;
       Point1:=i;
       Point2:=i2;
       Point3:=i3;
      end;
 
    end;
 
  Writeln ('Pmax:',Pmin,' (',A[Point1,1],':',A[Point1,2],')(',A[Point2,1],':',A[Point2,2],')(',A[Point3,1],':',A[Point3,2],')');
end.
									




Array. Абрамян
Array 1 Просмотров: 10197
Array 2 Просмотров: 7007
Array 3 Просмотров: 5720
Array 4 Просмотров: 4893
Array 5 Просмотров: 6607
Array 6 Просмотров: 4550
Array 7 Просмотров: 4459
Array 8 Просмотров: 4755
Array 9 Просмотров: 4280
Array 10 Просмотров: 3913
Array 11 Просмотров: 4691
Array 12 Просмотров: 3775
Array 13 Просмотров: 3354
Array 14 Просмотров: 2854
Array 15 Просмотров: 4410
Array 16 Просмотров: 3430
Array 17 Просмотров: 3299
Array 18 Просмотров: 4430
Array 19 Просмотров: 2953
Array 20 Просмотров: 4678
Array 21 Просмотров: 2688
Array 22 Просмотров: 2420
Array 23 Просмотров: 2854
Array 24 Просмотров: 2672
Array 25 Просмотров: 2204
Array 26 Просмотров: 2880
Array 27 Просмотров: 2366
Array 28 Просмотров: 3073
Array 29 Просмотров: 1789
Array 30 Просмотров: 2617
Array 31 Просмотров: 2060
Array 32 Просмотров: 2448
Array 33 Просмотров: 1797
Array 34 Просмотров: 2117
Array 35 Просмотров: 1484
Array 36 Просмотров: 1572
Array 37 Просмотров: 3079
Array 38 Просмотров: 1655
Array 39 Просмотров: 1707
Array 40 Просмотров: 1923
Array 41 Просмотров: 1721
Array 42 Просмотров: 1382
Array 43 Просмотров: 1642
Array 44 Просмотров: 1518
Array 45 Просмотров: 1585
Array 46 Просмотров: 1389
Array 47 Просмотров: 1813
Array 48 Просмотров: 2917
Array 49 Просмотров: 1799
Array 50 Просмотров: 1346
Array 51 Просмотров: 2152
Array 52 Просмотров: 1994
Array 53 Просмотров: 1545
Array 54 Просмотров: 1542
Array 55 Просмотров: 1400
Array 56 Просмотров: 1262
Array 57 Просмотров: 1501
Array 58 Просмотров: 1403
Array 59 Просмотров: 1773
Array 60 Просмотров: 1292
Array 61 Просмотров: 1251
Array 62 Просмотров: 2109
Array 63 Просмотров: 1658
Array 64 Просмотров: 1362
Array 65 Просмотров: 1740
Array 66 Просмотров: 1588
Array 67 Просмотров: 1303
Array 68 Просмотров: 2464
Array 69 Просмотров: 1874
Array 70 Просмотров: 1766
Array 71 Просмотров: 1488
Array 72 Просмотров: 1410
Array 73 Просмотров: 1187
Array 74 Просмотров: 1427
Array 75 Просмотров: 1599
Array 76 Просмотров: 1421
Array 77 Просмотров: 1202
Array 78 Просмотров: 1418
Array 79 Просмотров: 1202
Array 80 Просмотров: 1164
Array 81 Просмотров: 1076
Array 82 Просмотров: 960
Array 83 Просмотров: 881
Array 84 Просмотров: 868
Array 85 Просмотров: 1014
Array 86 Просмотров: 1494
Array 87 Просмотров: 875
Array 88 Просмотров: 926
Array 89 Просмотров: 970
Array 90 Просмотров: 1763
Array 91 Просмотров: 1123
Array 92 Просмотров: 1364
Array 93 Просмотров: 1371
Array 94 Просмотров: 1172
Array 95 Просмотров: 1589
Array 96 Просмотров: 1303
Array 97 Просмотров: 1174
Array 98 Просмотров: 1893
Array 99 Просмотров: 1121
Array 100 Просмотров: 1084
Array 101 Просмотров: 1141
Array 102 Просмотров: 864
Array 103 Просмотров: 934
Array 104 Просмотров: 915
Array 105 Просмотров: 746
Array 106 Просмотров: 1119
Array 107 Просмотров: 965
Array 108 Просмотров: 1023
Array 109 Просмотров: 958
Array 110 Просмотров: 1030
Array 111 Просмотров: 903
Array 112 Просмотров: 1730
Array 113 Просмотров: 1251
Array 114 Просмотров: 1089
Array 115 Просмотров: 1207
Array 116 Просмотров: 2170
Array 117 Просмотров: 1643
Array 118 Просмотров: 897
Array 119 Просмотров: 794
Array 120 Просмотров: 973
Array 121 Просмотров: 912
Array 122 Просмотров: 988
Array 123 Просмотров: 943
Array 124 Просмотров: 812
Array 125 Просмотров: 845
Array 126 Просмотров: 782
Array 127 Просмотров: 793
Array 128 Просмотров: 860
Array 129 Просмотров: 866
Array 130 Просмотров: 923
Array 131 Просмотров: 1098
Array 132 Просмотров: 884
Array 133 Просмотров: 782
Array 134 Просмотров: 1241
Array 135 Просмотров: 778
Array 136 Просмотров: 926
Array 137 Просмотров: 892
Array 138 Просмотров: 771
Array 139 Просмотров: 899
Array 140 Просмотров: 1501

Комментарии

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



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