Помогите! Вот не хватает сил доделать задачу... N треугольников плоскости заданы длинами своих сторон. В каждом треугольнике найти наименьшую из трёх сторон. Среди этих наименьших сторон найти наибольшую и длины соответствующего треугольника. Вот что я смогла из себя выдавить,но получилось только частично сделать... #include<math.h> #include<conio.h> #include<stdio.h> #include<iostream.h> class clx { int n; float*x,*y; public: clx(int size) {n=size; x=new float[n]; y=new float[n]; } void vyvod () {for(int i=0;i<n;i++) cout<<(*(x+i))<<" "<<(*(y+i))<<endl; } void vod () { for(int i=0;i<n;i++) {cin>>(*(x+i)); cin>>(*(y+i)); } } void rast (float x1,float x2,float y1,float y2,float *r) { *r=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); } void N (float *rmax ,float *x1,float *x2,float *x3,float *y1,float *y2,float *y3) {float r1,r2,r3; for (int i=0;i<=n-3;i++) for (int j=i+1;j<=n-2;j++) for (int k=j+1;k<=n-1;k++) { rast(*(x+i),*(x+j),*(y+i),*(y+j),&r1); rast(*(x+i),*(x+k),*(y+i),*(y+k),&r2); rast(*(x+k),*(x+j),*(y+k),*(y+j),&r3); if (r2>r3) *rmax=r2 ; else *rmax=r3 ; if (r1>r2) *rmax=r1; else *rmax=r2; if (r3>*rmax) *rmax=r3; {*x1=*(x+i);*y1=*(y+i); *x2=*(x+j);*y2=*(y+j); *x3=*(x+k);*y3=*(y+k); } } } }; int main() {int m=3; int d=0;d<=2;d=d++; while (d=2) { float rmax,x1,x2,x3,y1,y2,y3; clx a1(m); a1.vod (); a1.vyvod (); a1.N(&rmax,&x1,&x2,&x3,&y1,&y2,&y3) ; textcolor(12); cprintf("rmax="); cprintf(" %4.2f ",rmax); cout<<endl; textcolor(14); cprintf("x1="); cprintf(" %4.2f ",x1); cprintf("x2="); cprintf(" %4.2f ",x2); cprintf("x3="); cprintf(" %4.2f ",x3);cout<<endl; cprintf("y1="); cprintf(" %4.2f ",y1); cprintf("y2="); cprintf(" %4.2f ",y2); cprintf("y3="); cprintf(" %4.2f ",y3); } getch (); return 0 ; } Чего-то не то получилось...
что-то очень страшное... как это можно делать: 1. задаем массив размера 4*n. каждый столбец - информация по треугольнику. 2. заполняем длинами сторон. 3. ищем по каждому столбцу минимум. записываем его в четвертую строку. 4. ищем по четвертой строке максимум. 5. выводим первые три строки столбца, в котором находится найденный максимум.