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

Определить кольцо с центром в начале координат, которое содержит все точки. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти точные квадраты в двумерном массиве http://www.cyberforum.ru/cpp-beginners/thread294287.html
Нужно определить, есть ли среди элементов квадратной матрицы точные квадраты, а если есть - вывести на экран и указать их позицию в матрице. #include <iostream.h> #include <conio.h> #include <stdlib.h> #include <iomanip.h> #include <math.h> #define N 5 #define M 5 void main()
C++ Заменить все ее члены, большие данного Z, этим числом. Подсчитать количество замен. Дана последовательность действительных чисел a1, a2, ..., an. Заменить все ее члены, большие данного Z, этим числом. Подсчитать количество замен. http://www.cyberforum.ru/cpp-beginners/thread294284.html
Формирование массива структур из строки C++
люди добрые) посмотрите, пожалуйста, цикл... Он разбирает фай на структуру.. Файл выглядит такel1;el2;el3 el1;el2;el3 el1;el2;el3почему-то он не воспринимает проверку на символ переноса строки в основном цикле..do { for (c=c_buf; buffer != '\r\n'; c++) { c--; if (buffer == ';') k++; c++;
C++ Указать те ее элементы, которые принадлежат отрезку [с, d].
Дана последовательность действительных чисел a1, a2, ..., аn. Указать те ее элементы, которые принадлежат отрезку .
C++ Функция trunc в C++ http://www.cyberforum.ru/cpp-beginners/thread294248.html
Здравствуйте! Знаю что на Pascal есть функция trunс! Мне нужна такая функция в С++! Искал по инету и ничего не нашел! Если такая есть то напишите какой модуль подключить и как ее использовать... Заранее благодарен!
C++ MPI_Graph_create Всем привет :)! У меня задание.. нужно средствами МРИ реализовать виртуальную топологию графу . Для каждой вершины графа определить количество и номера соседних вершин. Решетка 2х3 с одной циклической связью. Что и сделал: #include "mpi.h" #include <stdio.h> #include <stdlib.h> подробнее

Показать сообщение отдельно
oleg@tor1
 Аватар для oleg@tor1
32 / 17 / 2
Регистрация: 05.09.2011
Сообщений: 152
10.03.2013, 04:21     Определить кольцо с центром в начале координат, которое содержит все точки.
Вот такой вариант. С "графикой".

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <Windows.h>// Необходим для отрисовки. Фукционально включает аналоги graphics.h - C++ Builder.
#include <math.h>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <array>
#define WIDTH  80   // Используем макрос для замены показателей на цифровые зн-я.
#define HEIGHT 22
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    double t;
    double r;
    int c=190;  
    const int size = 5; // Константа для размера массива.   
    double    x, y;// Координатные переменные.      
    double    dist;// Буфер для временного значения МАКС и МИН.
    int       jp;  // Переменная для цикла и вычисления Х и У.
    double    MinD, MaxD;// Максимум и минимум для окружности.
 
    srand(static_cast <double>(time(NULL)));  // Генерируем псевдо-случайные числа.
 
    double    XY [2*size]={rand()%70+1.,rand()%65+1.,rand()%80+1.,rand()%77+1.,rand()%20+1.,rand()%40+1.}; // Заполняем массив случайными координатами точек.
 
    x = XY[0];      // Указываем градацию эл-тов массива: х,у, х,у... .
    y = XY[1];
 
    MinD = sqrt (x*x + y*y);// Находим минимум.
    MaxD=MinD;          // Т.к. нам достаточно одного максимума для отрисовки круга, зная центр.
 
    for (jp = 1; jp < size; jp++)   // Находим необходимый максимум.
    {
        x = XY [jp*2];
        y = XY [jp*2+1];
 
        dist = sqrt (x*x + y*y);
 
        if(dist < MinD)
        {MinD = dist;}
        if(dist > MaxD)
        {MaxD = dist;}
    }
 
    cout << endl << endl << endl << endl << "Координаты точек:" << endl;
 
    for (unsigned int z = 0; z < size; ++z)
    {
        cout << XY[z] << ':' << XY[z+1] << ' '; 
    }
 
    // Добавим красок! ;)
    HANDLE hSTDOut = GetStdHandle(STD_OUTPUT_HANDLE); // HANDLE - дискриптор. Т.е. номер потока для буфера консоли в системе.
    CONSOLE_SCREEN_BUFFER_INFO SCRN_INFO;             // Объявляем экземплр структуры CONSOLE_SCREEN_BUFFER_INFO. Содержит информацию о буфере экрана консоли
    SetConsoleTextAttribute(hSTDOut,FOREGROUND_GREEN | FOREGROUND_GREEN | FOREGROUND_GREEN|FOREGROUND_INTENSITY); // Играем с цветом RGB. Делаем зелёный текст.
 
 
    cout << endl << "Кольцо, построенное на плоскости и включающее все точки массива."<<' ';
    cout << "Радиус:" << MaxD << endl;
    r = MaxD; // Радиус инициализируем найденным максимумом.
 
    HDC hDC = GetDC( GetConsoleWindow( ) ); // Извлекает дескриптор дисплейного контекста устройства (DC) для рабочей области заданного окна
    HPEN Pen = CreatePen( PS_SOLID, 2, RGB(255, 255, 255)); // Создаём "Ручку". Инструмент для рисования.
 
    SelectObject( hDC, Pen );       // Функция  SelectObject выбирает объект в заданный контекст устройства (DC).
    MoveToEx( hDC, 10, c, NULL );   // Двигаемся на позицию.
    LineTo( hDC, c + 300, c );      // Чертим линию. Ось Ох.
    MoveToEx( hDC, c, 90, NULL );
    LineTo( hDC, c, c + 300 );
 
    for ( t = -r; t <= r; t += 1) // Цифра задаёт шаг в прорисовке окружности. Можно эксперементировать. Float задаётся через "."!!!
    {
        MoveToEx( hDC, r*sin(t)+c, r*cos(t)+c, NULL ); // Двигаемся на позицию NULL (0).
        LineTo  ( hDC, r*sin(t)+c, r*cos(t)+c );       // Чертим круг.
    }
 
    HANDLE hCon;
    COORD cPos; // Экземпляр. Структура COORD определяет координаты символьной клетки в консоли.
    hCon = GetStdHandle(STD_OUTPUT_HANDLE); // Функция GetStdHandle извлекает дескриптор для стандартного ввода данных, стандартного вывода или стандартной ошибки устройства.
    cPos.Y = c/13; // Определяем позицию немного левее от центраю
    cPos.X = c/9;
 
    SetConsoleCursorPosition(hCon, cPos); // Устанавливаем курсор.
    cout << "0" <<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; 
    system("pause");    
 
} // end_main
 
Текущее время: 06:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru