Тема: Допоможіть з С
Прога не закінчена, але з основою заплуталась,що не так? Ось завдання:
З клавіатури ввести послідовність структур, кожна з яких задає координати двох протилежних (лівої верхньої і правої нижньої) вершин прямокутника, сторони якого паралельні до осей координат. Роздрукувати введені дані у вигляді таблиці, відсортувавши їх за зростанням лівої координати x прямокутника. Визначити й вказати прямокутники з найбільшою і найменшою площею.
#include <stdio.h>
#include <stdlib.h>
struct pryamoug
{
int x;
int y;
};
struct pryamoug A,B,C,D;
struct pryamoug p[7]={ {A.x,A.y},{B.x,B.y}, {C.x,C.y}, {D.x,D.y} };
int main (void)
{
int sort (struct pryamoug p[7]);
void show(struct pryamoug p[7]);
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");
system("PAUSE");
}
B.x=D.x;
B.y=A.y;
C.x=A.x;
C.y=D.y;
sort(p[7]);
show(p[7]);
return 0;
}
int sort(struct pryamoug p[7])
{
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[7])
{
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[7];i++)
{
printf("\t| %i | %i | %i | %i | %i | %i | %i | %i | %i",
p[i]);
}
}