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

Найти минимальное число, встречающееся в заданном векторе более одного раза - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выделение памяти в методе http://www.cyberforum.ru/cpp-beginners/thread856901.html
Всем доброго времени суток ! У меня есть следующий метод в заголовочном файле : class Array: public Container{ private: char* data; int length; public: Array(int n){ data=new char;
C++ Специализация шаблона класса Имеется задание: Создать свой шаблонный класс – динамический массив (myvector). Создать методы этого класса. Инстанцировать для своего класса, представляющего собой строку, изготовленную из STL контейнера vector<char> (с определением в нем операций, необходимых для сортировки, в частности, операторов сравнения). Первая часть понятна, но вторая не очень. Что имеется ввиду под инстанцировать?... http://www.cyberforum.ru/cpp-beginners/thread856894.html
Передача массива в функцию C++
Ребят, подскажите как передать массив в функцию по значению (или альтернативный вариант)? Чтобы изменялась его копия находящаяся в стеке. если передать массив ссылкой есть право его изменять т.к мы работаем с ним непосредственно.
C++ "Графы"
По графу G построить граф K(G) с тем же множеством вершин что и у G; вершины в K(G) смежны тогда и только тогда когда расстояние между ними в G не превышает 2.Проверить совпадают ли степени всех вершин в K(G) и если нет то нельзя ли удалить из него одну вершину так , что бы полученный граф удовлетворял этому требованию. Помогите с программой.
C++ Ошибка в игре Питон http://www.cyberforum.ru/cpp-beginners/thread856867.html
Здравствуйте, пишу игру Питон, помогите пожалуйста исправить проблему - должно прибавляться одно звено, а прибавляется несколько, можно даже сказать, что она копируется несколько раз. Пожалуйста, по-подробнее #include <stdio.h> #include <graphics.h> #include <stdlib.h> #include <math.h> #define DT 0.1 #include <windows.h> static int BClr={RGB( 0, 255, 0), RGB( 0, 0, 255), RGB( 255, 0,...
C++ Ошибка деструктора Имеется шаблон класса- динамического массива. После создания функции push_back начал ругаться конструктор. Объясните пожалуйста в чем дело? #include<iostream> #include<time.h> #include<stdlib.h> using namespace std; template<typename T> class myvector { private: int size; подробнее

Показать сообщение отдельно
RavilSHai
0 / 0 / 0
Регистрация: 26.10.2012
Сообщений: 82
06.05.2013, 01:30  [ТС]     Найти минимальное число, встречающееся в заданном векторе более одного раза
Цитата Сообщение от abit Посмотреть сообщение
RavilSHai,
сразу бы и начали со своего уровня)))
вот набросал вам решение в лоб, разбирайтесь
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
74
#include <iostream>
 
using namespace std;
 
class Vector
{
private:
    double* vect;
    size_t count;
public:
       
    Vector (size_t l = 10)
    {
        vect = new double[l];
        count = l;
    };
    
    ~Vector() {delete[] vect;};
    
    Vector(const Vector& obj) 
    { 
       this->count = obj.count;
       for (size_t i=0; i!=this->count; ++i)
          this->vect = obj.vect;
    };
    
    double get(size_t ind) {return vect[ind];};
    
    void set(size_t ind, double d) {vect[ind]=d;};
private:
    Vector Sort(Vector vec, size_t size)
    {
           for (size_t i=0; i!=size-1; ++i)
           {
             double min = this->get(i);
             for (size_t j=i+1; j!=size; ++j)
             {
                 if (get(i)>get(j))
                 {
                    double tmp = get(j);
                    set(j,get(i));
                    set(i,tmp);
                 }
             }
           }
       return vec;
    };
public:
     double* MyFunc(const Vector* vec)
     {
             size_t size = vec->count;
             Vector vec2;
             vec2 = Sort(*this, size);
             double* p(NULL);
             for (size_t i=0; i!=size-1; ++i) 
                  if (vec2.get(i)==vec2.get(i+1)) 
                      p=&(vec2.vect[i]);
             return p;
     }
};
 
int main()
{
    Vector myvec(4);
    myvec.set(0,5);
    myvec.set(1,2);
    myvec.set(2,3);
    myvec.set(3,3);
    double* test = myvec.MyFunc(&myvec);
    if (test!=NULL) cout<<*test; 
    else cout << "Not match";  
    system("pause");
    return 0;
}
там много чего ещё можно переделать, ибо не всё гладко, но для старта и изучения пойдёт
а как тебе вот такое решение?)
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
#include <iostream>
 
using namespace std;
 
class Vector
{
protected:
    int* vect;
    int count;
public:
    Vector() 
    {
        vect = new int[10];
        count = 10;
    };
    Vector (int l)
    {
        vect = new int[l];
        count = l;
    };
    int getCount() { return count; }; 
    int min()
    {
        int min = INT_MAX;
        int tmp = INT_MAX;
        int i;
        for (i =0; i < count; i++)
            {
                if (vect[i]==tmp)
                {
                    min=tmp;
                }
                else if (vect[i] < tmp)
                    {
                        tmp= vect[i];
                    }
            }
        return min;
    };
    int& operator[](int i) { 
        return vect[i];
    };
    void operator()(int l) 
    { 
        int* tmp = new int[l]; 
        for (int i = 0; i < count && i < l; i++) tmp[i] = vect[i]; 
        delete vect; 
        vect = tmp; 
        for (int i = count; i < l; i++) vect[i] = 0; 
        count = l; 
    }
};
int main() 
{
    Vector a;
    int z;
    for (int i = 0; i < a.getCount(); i++) 
    { 
        a[i] = i/2;
    }
 
    cout << "Sozdannie vectora\na: ";
    for (int i = 0; i < a.getCount(); i++) cout << a[i] << " ";
    z=a.min();
    cout <<"z="<<z;
    getchar();
    return 0;
}
 
Текущее время: 09:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru