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

Найти минимальную суммарную длину n отрезков - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Решение задачи c++ http://www.cyberforum.ru/cpp-beginners/thread419789.html
Написать программу вычисляющую значение функции y=√(9-x*x) на задонном орезке с заданным шагом H=0.25 помогите пожалйста а то я выйду не отестованным
C++ Сортировка методом пузырька Написать программу, которая методом обмена («пузырька») сортирует по убыванию введенный с клавиатуры одномерный массив. http://www.cyberforum.ru/cpp-beginners/thread419786.html
Перевод из 2 в 10 сс компактнее C++
Здравствуйте, вот у меня есть программа, которая переводит из 2 сс в 10 сс, учитывая и дробные числа... Но хочется узнать, можно ли написать прогу компактнее? И объясните, пожалуйста, как эта прога переводит дробную часть #include <iostream> #include<string.h> using namespace std; int main() { string str; int i=0;
C++ Почему в адресе сайта http://qt.nokia.com/products/ присутствует слово nokia?
Почему в адресе сайта http://qt.nokia.com/products/ присутствует слово nokia?
C++ Вывести наибольшее простое число до миллиона http://www.cyberforum.ru/cpp-beginners/thread419771.html
Полный текст задания: Вывести на экран самое большое простое число меньше 1000000 Если можно с комментариями.
C++ Написать функцию FRAME, которая выводит на экран рамку 3 задание Даны матрицы: А размером m*k и В размером k*n.Получить матрицуС=A*В. 2 задания Написать функцию FRAME, которая выводит на экран рамку. В качестве параметра функции должны передаваться координаты левого верхнего угла и размер рамки. 1 задание Написать программу, которая вычисляет, сколько раз введенное с клавиатуры число встречается в массиве подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
29.12.2011, 08:04     Найти минимальную суммарную длину n отрезков
Цитата Сообщение от Fasta Посмотреть сообщение
данные не вводятся, все сразу в коде, максимальное n пусть будет 3 для точек и 10 для двумерного массива, тип integer.
Нужно вывести только значение минимальной длины в сумме всех 3 отрезков.
Для Вашего случая смысл создания какой-либо плоскости. Простейший перебор:
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
#include <stdio.h>
#include <math.h>
int rast(int x1, int y1, int x2, int y2)
{
    return (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
}
int main() {
 
    int red[3][2]={2,2,2,9,8,7}, blue[3][2]={8,1,4,4,10,8}, i, j, y;
    int min=1000000, tmp;
    for(i=0; i<3; i++)
        for(j=0; j<3; j++)
            for(y=0; y<3; y++)
                if(i!=j && i!=y && j!=y)
                {
                    tmp=rast(red[0][0], red[0][1], blue[i][0], blue[i][1])+
                        rast(red[1][0], red[1][1], blue[j][0], blue[j][1])+
                        rast(red[2][0], red[2][1], blue[y][0], blue[y][1]);
                    if(tmp<min)
                        min=tmp;
                }
    printf("%lf\n", sqrt((double)min));
    return 0;
}
 
Текущее время: 23:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru