Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие языки > Помогите с лабораторной!))


Автор: Helen11 21.9.2013, 21:58
Я запуталась,помогите распутаться!)
С клавиатуры ввести последовательность структур, каждая из которых задает координаты двух противоположных (левой верхней и правой нижней) вершин прямоугольника, стороны которого параллельны осям координат. Распечатать введенные данные в виде таблицы, отсортировав их по возрастанию левой координаты 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]);
    }


}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)