1

Тема: Допоможіть з С

Прога не закінчена, але з основою заплуталась,що не так? Ось завдання:
З клавіатури ввести послідовність структур, кожна з яких задає координати двох протилежних (лівої верхньої і правої нижньої) вершин прямокутника, сторони якого паралельні до осей координат. Роздрукувати введені дані у вигляді таблиці, відсортувавши їх за зростанням лівої координати 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]);
    }


}
Post's attachments

DSCN43334.JPG 49.1 kb, 270 downloads since 2013-09-22 

2

Re: Допоможіть з С

По помилках: вам же синім по ціану написано: в рядку 35 передаватися параметром має посилання на struct pryamoug, а ви передаєте структуру. При цьому ще й таку, якої не існує. Те саме - в 36-му рядку. А в 45-му ви намагаєтеся порівнювати структури - як ви це собі уявляєте, що більше: {0,5} чи {1,4}? І як це може визначити компілятор?
По суті: читаємо умову: "структур, кожна з яких задає координати двох протилежних (лівої верхньої і правої нижньої) вершин прямокутника". У вас є

struct pryamoug
{
    int x;
    int y;
};

Але це визначення не збігається з завданням: в прямокутника мають бути координати ДВОХ вершин. Далі треба було ввести послідовність прямокутників - а у вас невідомо звідки взялися A,B,C,D і p[7]. Це одна послідовність? Чи ні? Ви навіть речі, які прямо з завдання в код переписуються, переписати не можете - який сенс далі коментувати?

3

Re: Допоможіть з С

1. Де і на кого вчитеся, який курс?
2. Хто вас образив, що на С++ лкодите (мо, ліпше кудись на графєку)?
3. На скільки відсотків ця програма написана Вами?
4. "не так" тут трохи майже, як половина.

4

Re: Допоможіть з С

Bartash, це плюси тільки за назвою файлу, внутрішність - майже 100% pure-C (а що не pure, то дуже легко переробити в pure).

5

Re: Допоможіть з С

koala написав:

Bartash, це плюси тільки за назвою файлу, внутрішність - майже 100% pure-C (а що не pure, то дуже легко переробити в pure).

Знаю, та суті це не змінює: у мене одного тут враження, що ці проги авторства невідомого студента != ТС?..

6

Re: Допоможіть з С

У мене такого враження нема, бо вони не працюють. Тобто їх робив хтось, хто не вміє їх робити - а це цілком може бути і ТС. Тільки ТС ніхто не пояснював, як над програмами треба працювати і як правильно питати про проблеми з ними.

7

Re: Допоможіть з С

koala написав:

У мене такого враження нема, бо вони не працюють. Тобто їх робив хтось, хто не вміє їх робити - а це цілком може бути і ТС. Тільки ТС ніхто не пояснював, як над програмами треба працювати і як правильно питати про проблеми з ними.

У такому разі маємо справу з іншим типом того ж соціотипу.
Після викладання коду від ТС не йшло і тіні зацікавлення або мінімальної участі у процесі вирішення проблеми.

8 Востаннє редагувалося koala (23.09.2013 15:15:34)

Re: Допоможіть з С

Що, донько, помогли тобі твої москалі? 1 2

Подякували: Очі.завидющі, Cyan, Chemist-i, DOP4

9

Re: Допоможіть з С

Кохайтеся, чорнобриві
Та не з москалями...

Прихований текст

Бо москалі — чужі люде
Роблять лихо з вами.
Москаль любить жартуючи,
Жартуючи кине;
Піде в свою Московщину,
А дівчина гине.

Т. Шевченко "Катерина"

Подякували: DOP, koala, incred3

10

Re: Допоможіть з С

Ну, що тепер ми будемо робити?
Отак продати? Продати віру? Продати своїх?..

11

Re: Допоможіть з С

Чим не козак був? І станом високий, і чорнобривий, і обличчя, як у шляхтича, і рука міцна була в бою!.. А пропав, пропав без слави, як поганий пес!

12

Re: Допоможіть з С

Панно, вам натякають, що варто було б хоч якось відкоментувати відповіді, а то складається про вас погане враження...

13

Re: Допоможіть з С

koala написав:

Панно, вам натякають, що варто було б хоч якось відкоментувати відповіді, а то складається про вас погане враження...

1. панна заблокована
2. вона не з'являлась на форумі з моменту створення теми

14

Re: Допоможіть з С

А панні, до речі, 18... :)