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

Найти соседей в массиве C++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Высота конуса http://www.cyberforum.ru/cpp-beginners/thread640137.html
Построить график зависимости расстояния от водной поверхности до верхней точки плавающего на воде тела от плотности материала данного тела, если это конус высотой А основанием радиуса В. (без графика) Я начал решать задачу, здесь плотность 0<p<1 , шаг сделал 0.01. Всё бы хорошо, но не получается найти ни расстояние от верхней точки до воды, ни верхний радиус усеченного конуса. Плиз, помогите.....
C++ Создание в BitMap окружности заданного радиуса по точкам Добрый день! Подскажите, пожалуйста, как нарисовать окружность в BitMap заданного радиуса по точкам, если можно с примером. Заранее благодарна. http://www.cyberforum.ru/cpp-beginners/thread640123.html
Траблы с функцией sprintf C++
Всем добрый день. У меня есть структура. После того как я забил все поля структуры мне нужно сформировать одну большую строку из этих полей, каждое поле которое разделено символом новой строки. Используя функцию sprintf получаю системные ошибки какие-то. Подскажите в чем дело? Полей очень много. sprintf(formal,"%s\\n%s\n%s\\n%s\\n и тд", SdpEx.s_name, SdpEx.OriginEx.username,...
НЕ работает программа подсчёта! C++
Код писался в MVS 2012 ultimate суть программы состоит в том,чтобы ввести количество пенсо,шилингов, фунтов и пересчитать их с выводом в форме типа "Jфунты,шилинги,пенсо" В 1 шилинге 12 пенсо,в 1 фунте 100 шилингов,вроде как программа написана правильно,как я вижу,но в ошибках пишет ересь и понятно,что я могу думать как угодно,но работать не будет,прошу помочь! Сам код! #include...
C++ метод erase для list(STL) http://www.cyberforum.ru/cpp-beginners/thread640083.html
Всем привет! Не могу понять в чем у меня ошибка. Применяю метод erase в цикле для list, и с помощью него удаляю нужный элемент, но после удаления элемента вылетает ошибка, что невозможно инкремировать итератор. list < ListChannel > :: iterator iteratorchannel; for ( iteratorchannel = listchannel.begin(); iteratorchannel != listchannel.end(); ++iteratorchannel ) { if (...
C++ появляется на несколько мгновений черное окно и исчезает Здравствуйте! Помогите новичку. Начал изучать C++ по книге Schildt H. / Шилдт Г. - C++. From the Ground Up, 3rd Edition / C++. Базовый курс (3-е издание). Дошел до 2й программы , ввел ее в MV C++ 2010 express ,но меня смущает то что после компиляции (F5) - появляется на несколько мгновений черное окно и исчезает, это так и надо? Вроде как я должен наблюдать результат проги. Может что то не... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
21.08.2012, 10:25     Найти соседей в массиве C++
Вот реализация того что я понял - объединения в группы одинаковых шаров изначально забитых в рандомном порядке
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
#include <ctime>
#include <vector>
#include <iostream>
//#include <algorithm>//если юзаем sort
using namespace std;
 
void randFill(vector<int> &vec, int n);
void showBall(vector<int>  vec);
void sortBall(vector<int>  &vec);
 
int main()
{
    srand(time(0));
    vector<int> vec;
    randFill(vec, 20);//Пусть 20 шаров 
    showBall(vec);
    sortBall(vec);
    //а можно было вместо sortBall
    //sort(vec.begin(),vec.end());
    showBall(vec);
    return 0;
}
 
void randFill(vector<int> &vec, int n)
{
    for(int i = 0; i < n; i++)
        vec.push_back(rand()%3);
}
 
void showBall(vector<int>  vec)
{
    //0 означает красный 
    //1 зелёный
    //2 голубой
    vector<int>::iterator i;
    for(i = vec.begin(); i < vec.end(); i++)
    {
        switch((*i))
        {
        case 0:
            cout<<"[r]";
            break;
        case 1:
            cout<<"[g]";
            break;
        case 2:
            cout<<"[b]";
            break;
        }
    }
    cout<<endl;
}
 
void sortBall(vector<int>  &vec)
{
    vector<int>::iterator i;
    vector<int>::iterator j;
    int buf;
    for(i = vec.begin(); i < vec.end(); i++)
    for(j = i + 1      ; j < vec.end(); j++)
    {
        if((*j) < (*i))
        {
            buf = (*j);
            vec.erase(j);
            vec.insert(j,(*i));
            vec.erase(i);
            vec.insert(i,buf);
            //а можно было всё просто
            //swap((*i),(*j));
        }
    }
}
http://liveworkspace.org/code/e3f697...2b0c37a32307dc
[g][r][r][r][g][g][g][b][r][b][b][r][g][r][g][r][g][r][b][r]
[r][r][r][r][r][r][r][r][r][g][g][g][g][g][g][g][b][b][b][b]
Миниатюры
Найти соседей в массиве C++  
 
Текущее время: 08:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru