Форум программистов, компьютерный форум, киберфорум
Наши страницы

Структура - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ программа на с http://www.cyberforum.ru/cpp-beginners/thread87110.html
Народ как сделать такую прогу Ввести с клавиатуры текст определить и выбрать самое длинное слово подсчитать кол-во букв, и вывести на экран
C++ программа часы-будильник никак не могу разобратся,подскажите пожалуйста как сделать чтобы пользователь мог сам вводить время?и как это сделать через класс? #include <process.h> #include <windows.h> #include <stdio.h>... http://www.cyberforum.ru/cpp-beginners/thread87105.html
Динамическое програмирование C++
Очень нужна помощь в решении задач на С++ или С++ Builder Помогите кто сможет,последняя надежда на вас Очень буду рада! Большое спасибо заранее!!!!!! Задача 1. Из диапазона найти числа,...
Посоветуйте литературу по объектам и классам C++
Посоветуйте литературу по объектам и классам...
C++ потоки http://www.cyberforum.ru/cpp-beginners/thread87052.html
Задали мне задачку решить которую я не смог. Задача такая: написать код (на с++), который продемонстрирует различие действия endl и \n, чтоб студент видел как endl очищает буфер. Возможно ли вообще...
C++ Латинский квадрат помогите плиз написать програму где латинским квадратом порядка n называется матрица, каждая строка и каждый столбец содержат все числа от 1 до n. Проверить, является ли заданная во внешнем файле... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,863
20.01.2010, 00:04
NastiKor, две окружности перекрываются, если сумма их радиусов больше, чем расстояние между центрами. Если обе окружности лежат на одной прямой, параллельной одной из осей координат, то расстояние между центрами - разность большей и меньшей координат по этой оси. Если окружности не лежат на прямой ни по оси х, ни по оси у, тогда разность большей и меньшей координаты по х и разность большей и меньшей координаты по у - по сути катеты прямоугольного треугольника. Тогда расстояние между центрами - его гипотенуза, квадрат которой равен сумме квадратов катетов. Ну а дальше всё просто - заводим параллельный массив (int overlaps[CIRCLES] = { 0 }) и для каждого круга считаем количество перекрывающихся с ним кругов:
C
1
2
3
4
5
6
7
8
        for ( i = 0; i < CIRCLES; ++i ){
                for ( j = 0; j < CIRCLES; ++j ){
                        if ( j == i ) /* на перекрываемость с собой самим круг не проверяем ;) */
                                continue;
                        if ( overlapedCircles(&circles[i], &circles[j]) )
                                overlaps[i]++;
                }
        }
Потом в массиве overlaps ищем максимальное значение и выводим все круги у которых оно такое же:
C
1
2
3
4
        printf("\nCircle(s) with maximum overlaps:\n");
        for ( i = 0; i < CIRCLES; ++i )
                if ( overlaps[i] == max_overlaps )
                        printf(...
Да и всё, собственно.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.