Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2015, 20:25   #1
BuriaT20
Новичок
Джуниор
 
Регистрация: 25.05.2015
Сообщений: 3
По умолчанию Помогите с курсачом

Тема курсача : Кратчайший путь в графе.Интерфейс программы - меню.

Знаю что много написано по этой теме и советов много на счет кода , но почему то мне выдает ошибку все время

Код:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<values.h>
#include<stdlib.h>
int start, finish, z, min;
int **matrix, **a, **p; // matrix
int node; // Number of graph nodes
int *s, *b, *c;
//---------------------------------------------------------------------------
void f1() // enter matrix
{
 int i, j;
 FILE *in=0;
// in=fopen("123456.txt", "r");
 in=fopen("ford2.txt", "r");
 fscanf(in, "%d", &node);
 puts("");
 printf("Number of nodes: %d", node);
 puts("");
 matrix=(int **) malloc(node*sizeof(int)); // allocating memory for matrix
 for (i=0; i<node; i++)
     matrix[i]=(int *) malloc(node*sizeof(int));
 for (i=0; i<node; i++) // reading matrix
     for (j=0; j<node; j++)
         {
    fscanf(in, "%d", &matrix[i][j]);
    if ( matrix[i][j]==0 ) matrix[i][j]=MAXINT;
         }
 for (i=0; i<node; i++)
     matrix[i][i]=0;
 puts("");
}
//---------------------------------------------------------------------------
void f2() // printing matrix
{
 int i, j; /*
 for (i=0; i<node; i++)
    {
     for (j=0; j<node; j++)
         if (j==0) printf("%d", matrix[i][j]);
            else printf("%3d", matrix[i][j]);
     puts("");
    }         */
 puts("");
 for (i=0; i<node; i++)
     {
      j=0;
      if (matrix[i][j]==MAXINT) printf("%4c ", '-');
         else printf("%4d ", matrix[i][j]);
      for (j=1; j<node; j++)
          if (matrix[i][j]==MAXINT) printf("%4c ", '-');
             else printf("%4d ", matrix[i][j]);
      puts("");
     }
 puts("");
}
//---------------------------------------------------------------------------
void path(int i, int j)
{
 if (p[i][j]!=i+1)
    {
     path(i, p[i][j]-1);
     printf("%d, ", p[i][j]);
    }
}
//---------------------------------------------------------------------------
void f3() // Floid Algoritm
{
 int i, j, k;
 a=(int **) malloc(node*sizeof(int));
Что не так ?
BuriaT20 вне форума Ответить с цитированием
Старый 25.05.2015, 21:03   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,724
По умолчанию

Ошибку мы должны угадать?

Код:
matrix=(int **) malloc(node*sizeof(int)); // allocating memory for matrix
С чего такая уверенность, что размер указателя и инта будет везде и всегда совпадать?
p51x вне форума Ответить с цитированием
Старый 25.05.2015, 21:58   #3
BuriaT20
Новичок
Джуниор
 
Регистрация: 25.05.2015
Сообщений: 3
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Ошибку мы должны угадать?
У меня пишет что не правильная библиотека : #include<values.h> . А если ее нет то весь код получается не верный

P.S. Прошу прощения что не сказал это раньше .
BuriaT20 вне форума Ответить с цитированием
Старый 25.05.2015, 22:04   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,724
По умолчанию

Цитата:
У меня пишет что не правильная библиотека : #include<values.h> .
Берите https://github.com/lattera/glibc/blo...clude/values.h. Как по мне проще и лучше убить ее, заменив константы на "более современные". Тем более их пока у вас виднеется только максинт.

Цитата:
А если ее нет то весь код получается не верный
С чего это? Если у человека нету пальца - он инвалид, а не жаба.
p51x вне форума Ответить с цитированием
Старый 25.05.2015, 22:07   #5
BuriaT20
Новичок
Джуниор
 
Регистрация: 25.05.2015
Сообщений: 3
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
С чего это?
Компилятор выдает что ошибка в каждой строчке
BuriaT20 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с курсачом vladiator95 Помощь студентам 0 16.12.2013 16:09