for (i = 0; i < T; i++)
{
fscanf(fp, "%d %d", &n, &m);
{
fscanf(fp, "%d %d", &n, &m);
score = (int **)malloc(sizeof(int *) * m);
score[0] = (int *)malloc(sizeof(int) * n*m);
W = (int *)malloc(sizeof(int) * n);
for (j = 0; j < m; j++)
{
fscanf(fp, "%d %d %d %d", &a, &b, &p, &q);
score[a][a] += p;
score[a][b] += q;
score[b][a] += p;
score[b][b] += q;
}
score[0] = (int *)malloc(sizeof(int) * n*m);
W = (int *)malloc(sizeof(int) * n);
for (j = 0; j < m; j++)
{
fscanf(fp, "%d %d %d %d", &a, &b, &p, &q);
score[a][a] += p;
score[a][b] += q;
score[b][a] += p;
score[b][b] += q;
}
소스를 다 짰는데 디버깅하면 작동이 중지되었습니다 가 뜨길래
본인이 직접 printf 넣어가면서 값이 안나오는 부분을 찾아본 결과 이 부분인 것 같은데
어딘가 잘못되어 있는걸까요 횽들?? 동적할당에서 잘못되어서 배열이 제대로 구현이 안된건가...ㅠㅠ
동적할당 좀 적당히 했으면 좋겠다
new 써라 그보다 일단 저 코드의 문제는 score의 1차원 배열을 만들어두고, 각 배열의 원소에다가도 다시 메모리할당해줘야하는데 [0] 여기 하나만 해둠.
new가 개 편하던데...
int **score; score = new int *[m]; for(int i=0;i<m;i++) score[i] = new int [n];
그리고 입력받는 a,b값이 m,n보다 작다는 보장도 없으니 주의하셈. if문으로 예외처리해줭
뉴/딜리트 말록/프리 세트로 사용좀 - dc App