Я запуталась,помогите распутаться!) С клавиатуры ввести последовательность структур, каждая из которых задает координаты двух противоположных (левой верхней и правой нижней) вершин прямоугольника, стороны которого параллельны осям координат. Распечатать введенные данные в виде таблицы, отсортировав их по возрастанию левой координаты x прямоугольника. Определить и указать прямоугольники с наибольшей и наименьшей площадью.
| Код | #include <stdio.h> #include <stdlib.h>
struct pryamoug { int x; int y;
}; struct pryamoug A,B,C,D;
struct pryamoug p[8]={ {A.x,A.y},{B.x,B.y}, {C.x,C.y}, {D.x,D.y} };
int main (void) {
int sort (struct pryamoug p[8]);
printf("Enter koord tochky A, D"); scanf("%i %i %i %i",&A.x,&A.y,&D.x,&D.y); if(A.x>=D.x || A.y<=D.y) { printf("Nevirni dani, povtorit vvedennya");
}
B.x=D.x; B.y=A.y; C.x=A.x; C.y=D.y;
sort(p[8]); return 0;
} int sort(struct pryamoug p[8]) { int i,j,temp,n=7; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(p[i]>p[j]) { temp=p[i]; p[i]=p[j]; p[j]=temp; }
}
void show(struct pryamoug p[8]) { int i; printf("\n\t===========================================\n"); printf("\t | A.x | A.y | B.x | B.y | C.x | C.y | D.x | D.y"); for(i=0;i<p[8];i++) { printf("\t| %i | %i | %i | %i | %i | %i | %i | %i | %i", p[i]); }
}
|
|