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

найти ошибку в решении - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ максимальный(простая) http://www.cyberforum.ru/cpp-beginners/thread220962.html
что то я туплю... подскажите алгоритм:)
C++ Ввести последовательность в одномерный массив и вычислить характеристики последовательности (1)ЗАДАНИЕ: Дана последовательность не более 30 ненулевых целых чисел, индикатором оконча-ния последовательности является 0. Ввести последовательность в одномерный массив и вы¬числить характеристики последовательности согласно указанному варианту. ПРИМЕЧАНИЯ: Использование дополнительных массивов запрещено. В программе обязательно при-менение процедур и/или функций с передаваемыми параметрами.... http://www.cyberforum.ru/cpp-beginners/thread220958.html
Замена во введенном предложении запятых пробелами C++
Народ помогите пожалуйста!Я совсем не шарю в языке с!Надо программу написать - Замена во введенном предложении запятых пробелами!Т.е. пишим слова через запятую, а потом он заменяет запятые на пробелы!
C++ Добавить ввод данных пользователем и все!
Измените входные данные на ввод пользователем,так как у меня не работает, не правильно сделал. Вот сам код: #include <stdio.h> #include <conio.h> void main () { int a={{ 3, 9, -8, -2, 8, 4, 67, 0, 2},
C++ Реализация алгоритма Брезенхема для окружности http://www.cyberforum.ru/cpp-beginners/thread220954.html
Собственно говоря помогите реализовать алгоритм Брезенхема для окружности на С
C++ Упорядочить строку по убыванию длин слов Нам дан некий файл состоящий из слов, разделителями между которыми является некоторое множество знаков препинания. Нужно упорядочить слова в строках по убыванию длин слов, результат сортировки записать в файл. Я тут набросал код, однако при выводе он выдает какой-то бред, слабо напоминающий исходник 0_о Объясните, в чем ошибка, пожалуйста! #include <iostream> #include <cstring>... подробнее

Показать сообщение отдельно
Katee
0 / 0 / 0
Регистрация: 29.10.2010
Сообщений: 7
26.12.2010, 22:05     найти ошибку в решении
#include <stdio.h>
#include <mem.h>

#define max_num 20
#define max 28

int m[max_num + 1][max_num + 1] = {};
int yes = 0;

int n;
int cep[2 * max + 1] = {0};
int best[2 * max + 1];
int p, maxlen;

int read_data() {
int i, a, b;
FILE *f;

if((f = fopen("DM.TXT", "rt")) == NULL) {
fprintf(stderr, "Cannot open input file.\n");
return 1;
}

p = 1; maxlen = 0;
fscanf(f, "%d", &n);
for(i = 1; i <= n; ++i) {
fscanf(f, "%d %d", &a, &b);
m[a][b] = m[b][a] = 1;
}
fclose(f);
return 0;
}

void write_results() {

int i;
printf("%d\n", maxlen / 2);
if(maxlen > 1) {
i = 1;
while(i < maxlen - 1) {
printf(" <%d %d> :", best[i], best[i+1]);
i += 2;
}
printf(" <%d %d>", best[maxlen - 1], best[maxlen]);
}
printf("\n");
}

void s_cep() {

if(p - 1 > maxlen) {
memmove(&best[0], &cep[0], (p - 1)*sizeof(int));
maxlen = p - 1;
yes = (maxlen / 2 == n) ? 1 : 0;
}
}

int exist(int k) {
int i = 0;

while((i <= max_num) && (!m[k][i])) i += 1;
return (i <= max_num) ? 1 : 0;
}

void make_cep(int f) {

int s;
if(yes) return;

if(m[f][f]) {
m[f][f] = 0;
cep[p] = f; cep[p + 1] = f; p += 2;
if(exist(f)) make_cep(f); else s_cep();
p -= 2;
m[f][f] = 1;
}
else
for(s = 0; s <= max_num; ++s)
if(m[f][s]) {
m[f][s] = m[s][f] = 0;
cep[p] = f; cep[p + 1] = s; p += 2;
if(exist(s)) make_cep(s); else s_cep();
p -= 2;
m[f][s] = m[s][f] = 1;
}
}

int main() {
int i;

read_data();
for(i = 0; i <= max_num; ++i) make_cep(i);
write_results();
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru