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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Slonik
1 / 1 / 0
Регистрация: 18.02.2009
Сообщений: 9
#1

Помогите исправить ошибку - C++

18.02.2009, 13:59. Просмотров 721. Ответов 4
Метки нет (Все метки)

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include<iostream>
#include<time.h>
#include<windows.h>
#include<vector>
using namespace std;
 
bool Search(int i,int j);
 
double GeneratoR()
{double c=0,C=0;
    c=rand()%11;
    C=c/10;
return C;};
 
double **K;
bool RESH=true;
vector<int> v;
int r=0,d=0,z=0;
//-----------------
 
void main (void)
{
srand(time(0));
double T=0.6;
 
cout<<"Vvedite Razmrnost ";
cin>>r;
d=r;
 
double **V = new double *[r];
for(int g=0;g<r;g++)V[g] = new double[d];   
 
K = new double *[r];
for( g=0;g<r;g++)K[g] = new double[d];      
 
 
 
 
for(int i=0;i<r;i++){
    for(int j=0;j<r;j++){
            V[i][j]=GeneratoR();            
    }
}
 
cout<<" \n Massiv V \n";
 
for(i=0;i<r;i++){cout<<endl;
for(int j=0;j<r;j++){
    cout<<V[i][j]<<"\t";
    }
}
 
for(i=0;i<r;i++){
for(int j=0;j<r;j++){
    if(V[i][j]<T)K[i][j]=1;
    else K[i][j]=0;}
}
 
cout<<"\n ======================================== \n";
cout<<"Massiv K \n";
for(i=0;i<r;i++){cout<<endl;
for(int j=0;j<r;j++){
 
    cout<<K[i][j]<<" ";
 
}}
//------------------------
 
 
 
for(i=0;i<r;i++)
{
    if (K[i][0]==1)
    {        
        z++;
        K[i][0]=2;
        v.push_back(i);
        v.push_back(0);
 
    }
}
 
cout<<"\n Massiv K \n";
for(i=0;i<r;i++){cout<<endl;
for(int j=0;j<r;j++){
    cout<<K[i][j]<<" ";
}}
//------------------
cout<<endl<<endl;
for(int h=0;h<z*2;h++)cout<<v[h]<<" ";
cout<<endl;
cout<<"\n first ="<<v.front()<<endl;
cout<<"\n lposl "<<v.back()<<endl;
//-------------------------------------------------------------
 
 
while(v.size()>0 && RESH==true){
    RESH=Search(v[0],v[1]);
    if(RESH==false){cout<<"\nMatrix Protekaet!!!\n";}
    if(v.size()==0)cout<<"\n Matrix Ne imeet proxoda!!!\n";
}
 
 
 
 
 
 
}
 
 
 
 
bool Search(int i,int j)
{
if(j==r-1){return false;}
    if(i!=0)if(K[i-1][j]==1){K[i-1][j]=2;v.push_back(i-1);v.push_back(j);z++;}
    if(j!=r-1)if(K[i][j+1]==1){K[i][j+1]=2;v.push_back(i);v.push_back(j+1);z++;}
    
    if(i!=r-1)if(K[i+1][j]==1){K[i+1][j]=2;v.push_back(i+1);v.push_back(j);z++;}
 
cout<<"\n Massiv K \n";
for(int a=0;a<r;a++){cout<<endl;
for(int c=0;c<r;c++){
    cout<<K[a][c]<<" ";
}}
 
 
    v.erase(&v[0]);v.erase(&v[0]);
    return true;
}
Вообщем есть такой код, при компиляции выдает ошибку в конце в чем проблемма? помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2009, 13:59     Помогите исправить ошибку
Посмотрите здесь:

помогите исправить ошибку C++
Помогите исправить ошибку C++
Помогите исправить ошибку C++
Помогите исправить ошибку C++
C++ Помогите Исправить Ошибку
Помогите исправить ошибку C++
C++ Помогите исправить ошибку.....
C++ Помогите исправить ошибку..
Помогите исправить ошибку.. C++
Помогите понять и исправить ошибку... C++
C++ Помогите исправить ошибку!

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
18.02.2009, 14:11     Помогите исправить ошибку #2
в erase в качестве параметра надо передавать итератор,например v.begin()

И во многих циклах переменные используются без объявления.
Slonik
1 / 1 / 0
Регистрация: 18.02.2009
Сообщений: 9
18.02.2009, 14:35  [ТС]     Помогите исправить ошибку #3
Цитата Сообщение от Humanitis Посмотреть сообщение
в erase в качестве параметра надо передавать итератор,например v.begin()

И во многих циклах переменные используются без объявления.
Вообщем вот она собственно ошибка
with
[
_Ty=int,
_Alloc=std::allocator
]
No constructor could take the source type, or constructor overload resolution was ambiguous
e:\программа\proj.cpp(119) : error C2664: 'std::_Vector_iterator<_Ty,_Alloc> std::vector<_Ty>::erase(std::_Vector_const_iterator<_Ty,_Alloc>)' : cannot convert parameter 1 from 'int *' to 'std::_Vector_const_iterator<_Ty,_Alloc>'
with
[
_Ty=int,
_Alloc=std::allocator
]
No constructor could take the source type, or constructor overload resolution was ambiguous
Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
18.02.2009, 14:50     Помогите исправить ошибку #4
C++
1
v.erase(&v[0]);v.erase(&v[0]);
убери это. В твоей программе смысла в этой строчке нет.
Slonik
1 / 1 / 0
Регистрация: 18.02.2009
Сообщений: 9
18.02.2009, 21:55  [ТС]     Помогите исправить ошибку #5
Цитата Сообщение от Humanitis Посмотреть сообщение
C++
1
v.erase(&v[0]);v.erase(&v[0]);
убери это. В твоей программе смысла в этой строчке нет.
Закоментировал ее прога прокомпилировалась, но она мне тупо бесконечно массивы выдает, чего делать то.
Yandex
Объявления
18.02.2009, 21:55     Помогите исправить ошибку
Ответ Создать тему
Опции темы

Текущее время: 01:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru