Форум программистов, компьютерный форум CyberForum.ru

составить блок-схему алгоритма решения - C++

Восстановить пароль Регистрация
 
coraline
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 5
23.12.2010, 23:33     составить блок-схему алгоритма решения #1
Из заданного множества точек на плоскости выбрать две различные точки так, чтобы окружности заданного радиуса с центром в этих точках содержали внутри себя одинаковое количество точек
бльк схемы совсем не умею строить..помогите))

#include "stdafx.h"
#include "iostream"
#include <stdlib.h>
#include <math.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{setlocale (LC_ALL, "Russian");
int R; // Радиус окружностей
int n; // Количество точек
char c;
bool enter_type = true; // true - ручками, false - рандом

cout<<"Введите номер точки"<<endl;
cin>>n;
cout<<"Введите радиус"<<endl;
cin>>R;
cout<<"генерировать точки автоматически? 1/2"<<endl;
cin>>c;
if(c == '1')
{
enter_type = false;
}

int *x = new int[n];
int *y = new int[n];

if(enter_type)
{
for(int i=0;i<n;i++)
{
cout<<"Введите x и y ["<<(i+1)<<"]"<<endl;
cin>>x[i];
cin>>y[i];
}
}
else
{
for(int i=0;i<n;i++)
{
x[i] = rand(); // Здесь можно модифицировать рандом как хотите
y[i] = rand(); // Здесь можно модифицировать рандом как хотите
}
}


int *count = new int[n];
//А теперь сам алгоритм - сначала считаем количество точек для каждой окружности.

for(int i=0;i<n;i++)
{
count[i] = 0;
for(int j=0;j<n;j++)
{
if( sqrt((float)(x[i]-x[j])*(x[i]-x[j]) + (y[i]-y[j])*(y[i]-y[j])) <= R) //По теореме пифагора считаем попадает ли точка в окружность
count[i]++;
}
}

//Теперь бежим по массиву count и исчем любые 2 индекса с совпавшими значениями.

cout<<"Результаты:"<<endl;
int resCount = 0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(i!=j && count[i] == count[j]) //Нашли
{
resCount++;
cout<<"["<<x[i]<<","<<y[i]<<"] and ["<<x[j]<<","<<y[j]<<"]"<<endl;
//Далее можно завершить программу с помощью (return 0)
//Либо можно не завершать, и продолжить вывод всех точек с одинаковым количеством.
}
}
}

if(!resCount)
{
cout<<"Нет таких точек.";
}

cin>>c; //Чтобы притормозить программу и посмотреть результат.
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2010, 23:33     составить блок-схему алгоритма решения
Посмотрите здесь:

составить блок схему и программу для решения задачи C++
C++ Составить блок-схему алгоритма и написать программу вычисления матричного выражения с использованием подпрограмм
Составить блок-схему алгоритма для подсчета количества работников C++
C++ Составить блок-схему алгоритма и программу вычисления функции f(x) для заданного значения аргумента х
C++ Составить блок-схему алгоритма и программу вычисления выражения согласно условию (условие прилагается)
C++ Составить блок-схему алгоритма и программу вычисления суммы ряда согласно условию задачи
C++ Составить схему алгоритма и программу решения задачи

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru