Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2010, 20:52   #1
Manuelle
Новичок
Джуниор
 
Аватар для Manuelle
 
Регистрация: 21.10.2010
Сообщений: 2
По умолчанию Задача про квадраты.

Доброго времени суток уважаемые форумчане. Пытаюсь уже фиг знает сколько времени реализовать одну програмку, чето никак не получается её конец написать. Помогите кто чем сможет.
Цитата:
Фигура из квадратов.
даны действительные числа a1, b1, c1, a2, b2, c2, ... an, bn, cn. Эта последовательность оприделяет на плоскости n квадратов со сторонами паралельными осям. ai, bi - координаты центра квадрата, ci - длина его стороны (i=1, ..., n).
Оприделить площадь фигуры образованной этими квадратами.
З.Ы. квадраты пересекаются ессесно.
Код:
#include <stdio.h>
using namespace std;
int main()
{
    const int f=2;
    const int d=100;
    int i, j, x, y;
    short int an[] = {2, 4};
    short int bn[] = {2, 4};
    short int cn[] = {4, 4};
    short int x1[f] = {};
    short int x2[f] = {};
    short int y1[f] = {};
    short int y2[f] = {};
    i=0;
// создаю массивы в котором координаты всех углов квадратов
    for (j=0;j<2;j++)              
        {
        x1[j]=an[j]-(cn[j]/2);
        x2[j]=an[j]+(cn[j]/2);
        y1[j]=bn[j]-(cn[j]/2);
        y2[j]=bn[j]+(cn[j]/2);
        }
// а вот все что дальше не работает, цикл считает для каждого квадрата отдельно площадь...
    j=0;
    for (j=0;j<2; j++)
    for (x=0; x<20; x++)
    for (y=0; y<=20; y++)
    if (x>=x1[j] && x< x2[j] && y>= y1[j] && y < y2[j]) i=i++
    printf ("\ni=%i,",i);

}

Последний раз редактировалось Manuelle; 21.10.2010 в 20:55.
Manuelle вне форума Ответить с цитированием
Старый 30.10.2010, 02:05   #2
Manuelle
Новичок
Джуниор
 
Аватар для Manuelle
 
Регистрация: 21.10.2010
Сообщений: 2
По умолчанию

Помогите люди добрые
Manuelle вне форума Ответить с цитированием
Старый 31.10.2010, 10:04   #3
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

сначала вычисляешь суммарную площадь квадратов
Код:
cn[0]*cn[0]+cn[1]*cn[1]+...
потом для каждой пары квадратов вычисляешь площадь их перекрытия и вычитаешь ее из ранее полученной суммы
в конце получится нужная тебе площадь
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача про расписание любаша Общие вопросы C/C++ 1 25.11.2009 07:55
Задача про лифт Askar_g Общие вопросы C/C++ 3 05.02.2009 13:01
Задача про функцию dez2007 Помощь студентам 2 03.02.2009 18:46
Задача про переключатели Night Помощь студентам 5 21.01.2007 18:15