это прог в C (adjacency.c), который проверяет, существует ли в направленном графе путь от узла a к узлу б"ожидаемый идентификатор или '(' before '[' токен" и "ошибка: ожидаемый ')' до 'A'"
# include <stdio.h>
# include <stdlib.h>
#define N 11
#define FALSE 0
#define TRUE 1
typedef int[N][N] adj_mat;
int path (adj_mat A, int u, int v)
void main()
{
adj_mat Matrix;
int dadnode, sonnode;
printf("bla-bla-bla enter nodes.\n");
printf("Press Ctrl+Z after finishing of bla-bla-bla all the nodes\n");
do {
printf("Enter the number of first node\n");
scanf("%d", &dadnode);
printf("Enter the number of second node\n");
scanf("%d", &sonnode;);
if ((dadnode < sonnode) && (sonnode <= N) && (dadnode > 0))
Matrix[dadnode][sonnode] = 1;
} while ((dadnode != EOF) && (sonnode != EOF));
printf("Now enter u and v nodes to check if exists way from u node to we node\n")
printf("Enter the number of u node\n");
scanf("%d", &dadnode);
printf("Enter the number of v node\n");
scanf("%d", &sonnode;);
if ((dadnode < sonnode) && (sonnode <= N) && (dadnode > 0))
{
if(path(Matrix,dadnode,sonnode) == TRUE)
printf ("Exists way from node u to node v ");
}
else printf printf ("Not exists way from node u to node v ");
}
int path (adj_mat A, int u, int v)
{
if (v >= u)
return FALSE;
int nodenum;
for(nodenum = v - 1; nodenum > 0; nodenum--)
{
if (A[nodenum][v] == TRUE)
{
if (nodenum == u)/
return TRUE;
else if (path (adj_mat A, int u, int nodenum))
return TRUE;
}
}
return FALSE;
}
когда я типа команды
gcc -o adjacency -ansi adjacency.c
я получить
adjacency.c:8: error: expected identifier or ‘(’ before ‘[’ token
adjacency.c:10: error: expected ‘)’ before ‘A’
adjacency.c:58: error: expected ‘)’ before ‘A’
как исправить?
обновление: спасибо всем за помощь. скомпилирован.
похоже, что вы забыли добавить ';' в функцию 'path()' в верхней части файла. – Muggen
'void main()' - Бог спас тебя от ада! –