Форум программистов, компьютерный форум 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++ Иерархия С++ Привет. Заинтересовал вопрос иерархии С++: код -> функции -> классы/структуры -> ?? подозреваю что дальше идут массивы классов, в общем, какие следующие шаги до самого конца? подробнее

Показать сообщение отдельно
Nikitko_Cent
128 / 98 / 8
Регистрация: 27.10.2011
Сообщений: 629
Завершенные тесты: 2
07.09.2013, 20:14     Поиск наименьшего расстояния от одного элемента массиа до остальных
Цитата Сообщение от mano Посмотреть сообщение
Всем огромное спасибо за ответы))
Решил))

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

//Задача оказалась довольно простой, работает перебор в отсортированном массиве
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();
}
В код особо не вникал, но если там простой перебор "в лоб" сортировка вообще не нужна - даже лучше её убрать, ибо она только ухудшает производительность
 
Текущее время: 11:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru