그래프 인접 행렬 분할 오류

RaviTej310

그래프 인접 행렬에 대해 아래 코드를 작성했지만 침강 오류 오류가 발생합니다. malloc 문에 문제가 있다고 생각하지만 무엇인지 모르겠습니다. 이 문제를 어떻게 해결할 수 있습니까?

#include<stdio.h>
#include<stdlib.h>

struct Graph
{
  int V;
  int E;
  int **adj;
};

struct Graph *adjMatrix()
{
  int i,u,v;
  struct Graph *G=(struct Graph*)malloc(sizeof(struct Graph));

  printf("Enter vetrices and edge\n");
  scanf("%d %d",&G->V,&G->E);
  G->adj=malloc(sizeof(1)*((G->V) * (G->V)));
  for(u=0;u<(G->V);u++)
  {
    for(v=0;v<(G->V);v++)
    {
      G->adj[u][v]=0;
    }
  }
  for(i=0;i<(G->E);i++)
  { 
    printf("Enter source vertces and dest vertix ");
    scanf("%d %d",&u,&v);
    G->adj[u][v]=1;
    G->adj[v][u]=1;
  }
  return G;
}

int main()
{
  struct Graph *T=adjMatrix();
  printf("%d",T->adj[0][0]);
  return 0;
}
M Oehm

이:

G->adj=malloc(sizeof(1)*((G->V) * (G->V)));

정수에 대한 포인터 배열을 보유하고 있다고 가정되는 포인터에 정수의 1 차원 평면 배열을 할당합니다. ( sizeof(1)과 동일합니다 sizeof(int).)

행렬에로 액세스 G->adj[u][v]하려면 배열의 두 차원에 대해 메모리를 할당해야합니다. 이를 수행하는 한 가지 방법은 포인터 배열을 int에 할당 한 다음 각 포인터에 int 배열을 할당하는 것입니다.

G->adj = malloc(sizeof(*G->adj) * G->V);
for (i = 0; i < G->V; i++) {
    G->adj[i] = malloc(sizeof(*G->adj[i]) * G->V);
}

또한 사용자가 입력 한 정점이 실제로 인접 행렬의 경계 내에 있도록해야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

그래프 인접 행렬 분할 오류

분류에서Dev

이분 그래프를 인접 행렬로 변환 Spark Scala

분류에서Dev

이분 그래프를 인접 행렬 파이썬으로 변환

분류에서Dev

인접 행렬로 그래프 표시

분류에서Dev

그래프 : 인접 행렬 용

분류에서Dev

스칼라 : 인접 행렬 그래프

분류에서Dev

스칼라 : 인접 행렬 그래프

분류에서Dev

인접 행렬 그래프 구현

분류에서Dev

연결된 그래프의 인접 행렬 및 인접 목록

분류에서Dev

실행중인 응용 프로그램이 "분할 오류"로 끝납니다.

분류에서Dev

분할 오류-Pthreads 및 행렬을 사용하는 C 프로그램

분류에서Dev

JanusGraph Gremlin이 반환 한 부분 그래프의 인접 행렬을 얻는 방법은 무엇입니까?

분류에서Dev

(R Igraph) 제휴를 사용하여 인접 행렬에서 부분 그래프 만들기

분류에서Dev

D3.js : 인접 행렬의 강제 방향 그래프

분류에서Dev

무 방향 그래프의 인접 행렬 생성

분류에서Dev

Python의 행렬에서 인접 목록 그래프 만들기

분류에서Dev

C 프로그래밍 분할 오류 (코어 덤프) 오류

분류에서Dev

그래프의 연결을 확인하는 프로그램은 분할 오류를 생성합니다.

분류에서Dev

int 행렬의 분할 오류

분류에서Dev

분할 오류-Strassen의 행렬 곱셈

분류에서Dev

NVIDIA 드라이버로 인해 그래픽 응용 프로그램의 분할 오류 발생

분류에서Dev

행렬 할당에 대한 분할 오류 오류

분류에서Dev

`E <-` (`* tmp *`, value = 1 : 9) 오류 : R에서 그래프 분석을 시도 할 때 잘못된 인덱싱

분류에서Dev

프로그램 수신 신호 SIGSEGV, 분할 오류, 클래스 포인터 호출시

분류에서Dev

NASM 프로그래밍-분할 오류 (코어 덤프 됨)

분류에서Dev

PHP 프로그래밍 오류 (while 루프를 실행할 수 없음)

분류에서Dev

행렬 곱셈을 수행 할 때 C ++의 분할 오류

분류에서Dev

그래프 분류

분류에서Dev

이 인접 행렬을 그래프 객체로 어떻게 변환합니까?

Related 관련 기사

  1. 1

    그래프 인접 행렬 분할 오류

  2. 2

    이분 그래프를 인접 행렬로 변환 Spark Scala

  3. 3

    이분 그래프를 인접 행렬 파이썬으로 변환

  4. 4

    인접 행렬로 그래프 표시

  5. 5

    그래프 : 인접 행렬 용

  6. 6

    스칼라 : 인접 행렬 그래프

  7. 7

    스칼라 : 인접 행렬 그래프

  8. 8

    인접 행렬 그래프 구현

  9. 9

    연결된 그래프의 인접 행렬 및 인접 목록

  10. 10

    실행중인 응용 프로그램이 "분할 오류"로 끝납니다.

  11. 11

    분할 오류-Pthreads 및 행렬을 사용하는 C 프로그램

  12. 12

    JanusGraph Gremlin이 반환 한 부분 그래프의 인접 행렬을 얻는 방법은 무엇입니까?

  13. 13

    (R Igraph) 제휴를 사용하여 인접 행렬에서 부분 그래프 만들기

  14. 14

    D3.js : 인접 행렬의 강제 방향 그래프

  15. 15

    무 방향 그래프의 인접 행렬 생성

  16. 16

    Python의 행렬에서 인접 목록 그래프 만들기

  17. 17

    C 프로그래밍 분할 오류 (코어 덤프) 오류

  18. 18

    그래프의 연결을 확인하는 프로그램은 분할 오류를 생성합니다.

  19. 19

    int 행렬의 분할 오류

  20. 20

    분할 오류-Strassen의 행렬 곱셈

  21. 21

    NVIDIA 드라이버로 인해 그래픽 응용 프로그램의 분할 오류 발생

  22. 22

    행렬 할당에 대한 분할 오류 오류

  23. 23

    `E <-` (`* tmp *`, value = 1 : 9) 오류 : R에서 그래프 분석을 시도 할 때 잘못된 인덱싱

  24. 24

    프로그램 수신 신호 SIGSEGV, 분할 오류, 클래스 포인터 호출시

  25. 25

    NASM 프로그래밍-분할 오류 (코어 덤프 됨)

  26. 26

    PHP 프로그래밍 오류 (while 루프를 실행할 수 없음)

  27. 27

    행렬 곱셈을 수행 할 때 C ++의 분할 오류

  28. 28

    그래프 분류

  29. 29

    이 인접 행렬을 그래프 객체로 어떻게 변환합니까?

뜨겁다태그

보관