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

Поиск наименьшего расстояния от одного элемента массиа до остальных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Опять указатели http://www.cyberforum.ru/cpp-beginners/thread948735.html
Здравствуйте. Изучаю эти туториалы: http://www.rastertek.com/dx11tut03.html В конце есть упражнение: конфигурацию видеокарты вывести в текстовой документ. Есть файл: d3dclass.cpp, ну и d3dclass.h соответственно. Там (в d3dclass.cpp) есть метод: void D3DClass::GetVideoCardInfo(char* cardName, int& memory) { strcpy_s(cardName, 128, m_videoCardDescription); memory = m_videoCardMemory; return;...
C++ Чистка памяти Имеет ли смысл в функции main() делать в конце очистку от экземпляра созданного класса delete имя_экземпляра_класса, или это сделает деструктор класса? Под экземпляр класса память в начале main() выделялась. http://www.cyberforum.ru/cpp-beginners/thread948730.html
C++ как задать текст длинной не больше 100 символов заканчивающийся точкой?
код пожалуйста))
C++ Работа с файлами (.txt)
В файле находятся только целые числа. Определить, имеет ли последовательность чисел, находящихся в файле, нечетную длину, и если да, то переменной m присвоить значение среднего элемента файла. В противном случае присвоить этой переменной значение первого числа файла.
C++ Возвращение ссылки на указатель использование её как левостороннего значения http://www.cyberforum.ru/cpp-beginners/thread948680.html
Есть шаблон: //------------------------------------------------------- template<class T> struct ts { private: void* data; public: ts(T* pt) : data(pt) { }
C++ Иерархия С++ Привет. Заинтересовал вопрос иерархии С++: код -> функции -> классы/структуры -> ?? подозреваю что дальше идут массивы классов, в общем, какие следующие шаги до самого конца? подробнее

Показать сообщение отдельно
mano
0 / 0 / 0
Регистрация: 11.04.2013
Сообщений: 42
05.09.2013, 16:41  [ТС]     Поиск наименьшего расстояния от одного элемента массиа до остальных
Всем огромное спасибо за ответы))
Решил))

просто иногда хочется поискать более сложное решение, когда этого не надо))...

//Задача оказалась довольно простой, работает перебор в отсортированном массиве
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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <vector>
 
using namespace std;
ifstream in ("input.txt");
ofstream out ("output.txt");
 
int main(){
    int n_blocks;
    in>>n_blocks;
 
    for (int  k = 0; k<n_blocks; k++){
        int size;//размер блока
        in>>size;
        
        vector<int> block(size);
        for (int  i = 0; i<size; i++){
            in>>block[i];
        }
 
        for (int  i = 0; i<block.size()-1; i++){//сортировка блока для нахождения разностей
            for (int  j = i; j<block.size(); j++){
                if (block[j]<block[i]){
                    int k = block[i];
                    block[i] = block[j];
                    block[j] = k;
                }
            }
        }
 
        vector<int> diff(size);//разности для каждого из чисел
        for (int  i = 0; i<diff.size(); i++) diff[i] = 0;
 
        for (int  i = 0; i<block.size(); i++){
            for (int j = 0; j<block.size(); j++){
                if (i!=j){
                    diff[i] += abs(block[j]-block[i]);
                    //cout<<i<<j;
                }
            }
        }
 
        int min_diff = diff[0];//поиск минимальной разности
        for (int  i = 1; i<diff.size(); i++){
            if (diff[i]<min_diff) min_diff = diff[i];
        }
 
        out<<min_diff<<endl;
        
    }
    
    //getch();
}
 
Текущее время: 09:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru