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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sanchopa
8 / 8 / 0
Регистрация: 21.04.2010
Сообщений: 104
#1

Динамический массив и вычисление радиуса. - C++

02.01.2011, 20:21. Просмотров 343. Ответов 2
Метки нет (Все метки)

Дан массив вещественных чисел. Рассматривая A[i,1] и A[i,2] как координаты точек на плоскости, определить радиус наименьшего круга (с центром в начале координат), внутрь которого попадают все эти точки. Реализовать для произвольных размеров массива.

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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <locale.h>
#include <math.h>
 
int main()
{
    int n, m;
    setlocale(LC_ALL, "Russian");
    printf("Введите N - число строк: ");
    scanf_s("%d", &n);
    m = 2;
    int **a;
    a = new int*[n];
    for(int i=0; i<n; i++)
        a[i] = new int[m];
    srand( (unsigned)time(NULL) );
    for(int i=0; i<n; i++)
        for(int j=0; j<m; j++)
            a[i][j] = rand()%10;
    for(int i=0; i<n; i++) {
        for(int j=0; j<m; j++)
            printf("%2d ", a[i][j]);
        printf("\n");
    }
//Динамический массив реализован криво, но работает.
    double radius = 0;
    double mini = 0;
        radius = sqrt((pow((double)a[0][0],2)) + (pow((double)a[0][1],2)));
        mini = radius;
        for(int i=0; i<n; i++) 
        {
        if (radius < mini) 
        {
        mini = radius;
        }
    else 
    {
        radius = sqrt(pow((double)a[i][0],2) + pow ((double)a[i][1],2));
    }
        }
        printf ("Радиус наименьшего круга в который входят все точки из матрицы: \n %f",mini);
        for(int i=0; i<n; i++)
            delete a[i];
                delete a;
            _getch();
    
}
Выводит результат криво, выводит значение первой строчки. Отладчик в VS 2008, тупит тычу F11 выходит дизассемблеризация, поэтому и обращаюсь.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2011, 20:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамический массив и вычисление радиуса. (C++):

Вычисление таблицы длины окружности начиная от значения радиуса R0 до Rn с шагом Rs - C++
1.Составить программу циклического вычисления таблицы длины окружности начиная от значения радиуса R0 до Rn с шагом Rs. Значения R0, Rn, Rs...

Линейные алгоритмы: вычисление радиуса и площади поверхности шара при заданном объеме - C++
Записать алгоритм вычисления радиуса и площади поверхности шара, если задан объем шара V.

Написать таблицу перевода радиуса в площадь круга для заданных значений радиуса - C++
написать таблицу перевода радиуса в площадь круга для значений радиуса от 1 до 18 В шагом 2.

Найти максимальное значение радиуса шара r и соответствующие значения радиуса основания r3 и высоты h шарового сектора - C++
Здравствуйте))))) помогите пожалуйста!!!! надежда только на вас! не могу сделать математическую часть курсовой((( Найти максимальное...

Определить круг минимального радиуса, содержащий весь массив точек - C++
Даны вещественные массивы X и Y. Определить радиус наименьшего круга с центром в начале координат, внутрь которого попадают все точки с...

Можно ли в классе создавать массив переменной длинны. Например динамический массив? - C++
Динамические массивы привлекают больше. :)

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.01.2011, 20:57 #2
Вот эту часть:
Цитата Сообщение от sanchopa Посмотреть сообщение
for(int i=0; i<n; i++)
{
if (radius < mini)
{
mini = radius;
}
else
{
radius = sqrt(pow((double)a[i][0],2) + pow ((double)a[i][1],2));
}
}
заменить на:
C++
1
2
3
4
5
6
7
8
                for(int i=0; i<n; i++) 
                {
                radius = sqrt(pow((double)a[i][0],2) + pow ((double)a[i][1],2));
                if (radius < mini) 
                {
                mini = radius;
                }
              }
0
sanchopa
8 / 8 / 0
Регистрация: 21.04.2010
Сообщений: 104
02.01.2011, 21:02  [ТС] #3
Огромное спасибо! Как я мог допустить такую тупую ошибку, мозг на сессии устал))))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2011, 21:02
Привет! Вот еще темы с ответами:

Написать функцию принимающую массив и возвращающую указатель на динамический массив - C++
Написать функцию принимающую массив и возвращающую указатель на динамический массив содержащий первые n нaибольших чисел. Как сделать...

динамический массив (Целое число разложить на массив простых множителей) - C++
Доброго времени суток всем. Целое число необходимо разложить на массив простых множителей. Столкнулся с проблемой, мне нужно, чтобы...

Заполнить динамический массив из файла и записать массив обратно в файл - C++
Подскажите пожалуйста функцию которая будет заполнять Динамический массив из файла и обратную которая этот массив запишет в файл=)

Массив: передать динамический массив в функцию и записать в каждый элемент строку из файла - C++
задача: передать динамический массив в функцию, и записать в каждый элемент строку из файла. количество строк известно вот что у меня...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru