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

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

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

Ошибка в правильности команды... - C++

05.12.2010, 01:33. Просмотров 482. Ответов 6
Метки нет (Все метки)

В понедельник нужно будет показать правильность работы проги...
Ошибку пишет тут (декларатион синтаксис еррор )
"
bool smezh(edge q1,edge q2){ // 1 - если q1 и q2 смежны, иначе -0
"

Код
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
FILE* fi = fopen("m_graph.txt","r");
FILE* fo = fopen("m_par.txt","w");
struct edge{ // ребро графа 
int b,e;
};
int n; //количество ребер
edge *graph; // массив ребер
edge *matching; // паросочетание
int num_mat; //количество паросочетаний
bool smezh(edge q1,edge q2){ // 1 - если q1 и q2 смежны, иначе -0
return q1.b==q2.b||q1.b==q2.e||q1.e==q2.b||q1.e==q2.e;
}
void out(edge *m,int num){  
fprintf(fo,"%d\n",num); // количество ребер 
for(int i=0;i<num;i++)  
fprintf(fo,"%d\ %d\n",m[i].b,m[i].e);
}
bool bad(){//возвращает 1, если в паросочетании есть смежное ребро 
for(int i=0;i<num_mat-1;i++)  
if(smezh(matching[i],matching[num_mat-1]))return 1;  
return 0;
}
void solve(){ //находит максимальное паросочетание  
num_mat = 0;  
for(int i=0;i<n;i++){  
matching[num_mat]=graph[i];num_mat++; // добавляем ребро   
if(bad())num_mat--; // если уже есть смежные - удаляем  
}
}
int main(){  
fscanf(fi,"%d",&n);  
graph = new edge[n];  
matching = new edge[n];  
for(int i=0;i<n;i++)  
fscanf(fi,"%d%d",&graph[i].b,&graph[i].e);  
solve();  
out(matching,num_mat);  
fcloseall(); 
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2010, 01:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в правильности команды... (C++):

Ошибка в синтаксисе команды. Переименование файла - C++
Нужно переименовать файл 1.txt на 2.txt. Запускается без ошибок, после в консольном окне пишет &quot;Ошибка в синтаксисе команды&quot; Помогите...

В массиве записаны результаты N игр футбольной команды. Определить количество выигрышей, количество проигрышей и количество ничьих данной команды. - C++
Помогите пожалуйста решить задачу. НА С# труда не составляет а вот на С++ не получается. 1. В массиве записаны результаты N игр...

о правильности написания - C++
Всем привет! Есть неясности: Имеем функцию: void foo(int* i); Как правильнее ее описать и вызывать? В книгах выдел 2...

Проверка правильности. - C++
Хочу реализовать проверку вводимого пользователем формата файла ( *.txt к примеру ) как реализовать это ? с помощью регулярок ?

Проверка правильности тетраэдра - C++
Код программы: #include &lt;fstream&gt; //Работа с файлами #include &lt;iostream&gt; //cout - вывод на экран #include &lt;conio.h&gt; //_getch() ...

Проверка правильности тетраэдра - C++
Имеются четыре точки. Каждая имеет координаты x, y и z. Кто-нибудь может подсказать, пожалуйста, как проверить, правильный ли тетраэдр или...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
05.12.2010, 01:46 #2
Что за компилятор? MSVC++ собирает.

Добавлено через 4 минуты
Старайтесь не писать код, полагающийся на глобальные переменные. Дурной стиль.
0
Pavel_V
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 3
05.12.2010, 01:53  [ТС] #3
Borlabd C++ v3.1

Добавлено через 6 минут
Цитата Сообщение от lemegeton Посмотреть сообщение
Что за компилятор? MSVC++ собирает.

Добавлено через 4 минуты
Старайтесь не писать код, полагающийся на глобальные переменные. Дурной стиль.
Хммм... если вас не затруднит вышлите собранную версию на почту пожалуйста. vershininpv @ gmail.com
0
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
05.12.2010, 02:07 #4
Вложением собраный экзешник.
Напоминаю, что если что-то компилируется, это не значит, что оно работает.
0
Вложения
Тип файла: zip temp02.zip (8.6 Кб, 8 просмотров)
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
05.12.2010, 04:07 #5
Могу и ошибаться, но в Borland C++ 3 помоему не было типа bool. Используйте int.
0
Pavel_V
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 3
05.12.2010, 23:36  [ТС] #6
kazak
Спасибо , замена на Bool на инт помогла. Но понять не могу что происходит ни какого окна с выводом результата не появляется... Что делать не знаю...


lemegeton
к сожалению при запуске пишет отсутствует библиотека...
0
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
06.12.2010, 03:27 #7
Если в среде исполняешь, то результат работы можно увидеть по нажатию <Alt>+<F5>. Или общее решение - перед реторном добавить ввод с клавиатуры, для задержки.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2010, 03:27
Привет! Вот еще темы с ответами:

Проверка правильности ввода - C++
Пишу программу С++ в консоле в RAD Studio. Программа представляет собой задачу. Пользователь вводит число, а программа решает. Мне нужно...

Не уверен в правильности кода - C++
вот задание, а вот код #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { int i,x,fact,p,j; p=1; for...

Проверка правильности пути - C++
Имеется строка с путём и именем файла. Получаю её из edit'а , т.е. можно и вручную указать и через диалог выбора файла. Это...

Проверка правильности ввода - C++
1)Вывести ошибку в консоль, если в символ пользователь пытается вбить строку. 2)Вывести ошибку в консоль, если строка не является...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.12.2010, 03:27
Ответ Создать тему
Опции темы

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