Форум программистов, компьютерный форум, киберфорум
Наши страницы

Помогите устранить ошибку: "Name lookup of 'i' changed for ISO 'for" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дописать удаление элемента из класса Tree http://www.cyberforum.ru/cpp/thread1330172.html
Добрый вечер! Написал вот такой класс, нужно сделать удаление одного или всех элементов, помогите пожалуйста. #include <iostream> using namespace std; class List{ public: int dat; List...
C++ Что значит "средства комбинирования в языках программирования"? Доброго времени суток. Как понять вопрос "средства комбинирования в языках программирования C, C++, C#"? Что в целом имеется ввиду? Возможно, я не с той стороны смотрю на вопрос, но что вообще может... http://www.cyberforum.ru/cpp/thread1329937.html
C++ Ассемблерные вставки на Fasm
Возможно ли в C++ ассемблерные вставки писать на Fasm?
C++ Кодирование бинарного изображения
Есть бинарное изображение. Как считать его код и составить из него матрицу нулей и единиц?
C++ Закон Деметры http://www.cyberforum.ru/cpp/thread1327094.html
Здравствуйте, уважаемые форумчане. Нужна ваша помощь. Не могли бы вы написать пример кода "Закона Деметры"(или же патеррна "не разговаривайте с неизвестными"). Желательно на с++, ну на крайний случай...
C++ Каким образом можно использовать регулярное выражение regex из .NET под С++ Работаю в VS Express 2012. Насколько понимаю, эта библиотека должна подключаться и к проекту на С++, но как это сделать, чтобы не надо было переделывать само регулярное выражение? Или, как вариант,... подробнее

Показать сообщение отдельно
Winlll
0 / 0 / 0
Регистрация: 20.11.2014
Сообщений: 12

Помогите устранить ошибку: "Name lookup of 'i' changed for ISO 'for" - C++

14.12.2014, 23:57. Просмотров 662. Ответов 1
Метки (Все метки)

При компиляции выдает ошибку.

In function 'int main()':
[Error] name lookup of 'i' changed for ISO 'for' scoping [-fpermissive]
[Note] (if you use '-fpermissive' G++ will accept your code)

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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#include <iostream.h>
#include <stdlib.h>
 
struct Node
{
   int inf;
   Node *next;
};
 
//============================Stack==============================
 
void push(Node *&st,int dat)
{  // Загрузка числа в стек
 
   Node *el = new Node;
   el->inf = dat;
   el->next = st;
   st=el;
}
 
int pop(Node *&st)
{       // Извлечение из стека
 
   int value = st->inf;
   Node *temp = st;
   st = st->next;
   delete temp;
 
   return value;
}
 
int peek(Node *st)
{     // Получение числа без его извлечения
   return st->inf;
}
 
//==============================================================
 
Node **graph;   // Массив списков смежности
const int vertex = 1; // Первая вершина
 
void add(Node*& list,int data)
{  //Добавление смежной вершины
 
   if(!list){list=new Node;list->inf=data;list->next=0;return;}
 
   Node *temp=list;
   while(temp->next)temp=temp->next;
   Node *elem=new Node;
   elem->inf=data;
   elem->next=NULL;
   temp->next=elem;
}
 
void del(Node* &l,int key)
{ // Удаление вершины key из списка
 
   if(l->inf==key){Node *tmp=l; l=l->next; delete tmp;}
   else
        {
Node *tmp=l;
while(tmp)
         {
    if(tmp->next) // есть следующая вершина
       if(tmp->next->inf==key)
                  {  // и она искомая
     Node *tmp2=tmp->next;
             tmp->next=tmp->next->next;  
             delete tmp2;  
           }
       tmp=tmp->next;
}
   }
}
 
int eiler(Node **gr,int num)
{ // Определение эйлеровости графа
 
   int count;
   for(int i=0;i<num;i++)
   {  //проходим все вершины
 
      count=0;
      Node *tmp=gr[i];
 
while(tmp)
         {       // считаем степень
            count++;
    tmp=tmp->next;
         }
      if(count%2==1)return 0; // степень нечетная
   }
   return 1;   // все степени четные
}
 
void eiler_path(Node **gr)
{ //Построение цикла
 
   Node *S = NULL;// Стек для  пройденных вершин
   int v=vertex;// 1я вершина (произвольная)
   int u;
 
   push(S,v); //сохраняем ее в стек
   while(S)
      {  //пока стек не пуст
v = peek(S); // текущая вершина
if(!gr[v]){ // если нет инцидентных ребер
v=pop(S); cout<<v+1<<"   "; //выводим вершину  (у нас отсчет от 1, поэтому +1)
      }
     else
      {
u=gr[v]->inf; push(S,u);  //проходим в следующую вершину
del(gr[v],u); del(gr[u],v); //удаляем пройденное ребро
      }
   }
}
 
int main()
{
 
system("CLS");
cout<<"Количество вершин:  "; int n; cin>>n; // Количество вершин
   int zn;// Текущее значение
 
   graph=new Node*[n];
   for(int i=0;i<n;i++)graph[i]=NULL;
   for(i=0;i<n;i++)   // заполняем массив списков
 
for(int j=0;j<n;j++)
{
    cin>>zn;
    if (zn) add(graph[i],j);
  }
 
cout<<"\n\nРЕЗУЛЬТАТ  ";
 
   if(eiler(graph,n))eiler_path(graph);
   else cout<<"Граф не является эйлеровым.";
 
   cout<<endl;
   cin.get();
   cin.get();
   return(0);
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru