안녕하세요.
저는 흔한 대학교 1학년 학생입니다.
교수님께서 과제로 두 행렬의 합을 구하는 걸 포인터와 함수로 만들어서 오라는 문제였습니다.
저는 고민을 하였고 저의 무릎을 탁치며
행과 열을 따로 포인터로 하려면 정말 힘들거야 그러니 이중포인터를 쓰자!
라는 병신같은 생각을 하였고 고로 이런 병신같은 코딩을 산출해냈습니다.
저는 아직 자료구조는 커녕 포인터를 함수에 넣는것도 잘 못하는데
친구들의 조언으로 최고의 선생님인 구글선생님을 찾아갔지만 외국이신데다가
너무 안친절하셔서 친절한 디씨 선생님들에게 여쭈러 왔습니다.
이 코딩을 어케 수정하면 두행렬의 합을 구하게 될까요
정말 코딩이 더러우니 죄송합니다 ㅜㅜ저진짜 ㅠㅠ  대가리가 빠라가서 그러니 이해좀 해주세요 ㅠㅠ



#include <stdio.h>
void final (void ** r);
void add (void **p,void **c);
main()
{
int  i,l;
int button;
 int  a = 0 , b = 0;
 int z=0,x=0;
 
 int **c=NULL;
 int  **p= NULL;

printf("행령의 값을 입력하세요1");
 scanf("%d" , &a);
 
 printf("행렬의 값을 입력하세요2");
 scanf("%d" , &b);

if(a>10 || b>10)
{printf("안되염 뿌잉\n");}
else{
printf("되염\n");
}
 p  = (int**)malloc(sizeof(int) * a);
 for(i = 0 ; i < a ; i++)
 {
  p[i] = (int*)malloc(sizeof(int)*b);

 }
 
 printf("행령의 값을 입력하세요1");
 scanf("%d" , &z);
 
 printf("행렬의 값을 입력하세요2");
 scanf("%d" , &x);

if(z>10 || x>10)
{printf("안되염 뿌잉\n");}
else{
printf("되염\n");
}
 c = (int**)malloc(sizeof(int) * z);
 for(l = 0 ; l < a ; l++)
 {
  c[l] = (int*)malloc(sizeof(int)*x);
 }
printf("고르시오");
printf("1=a+b 2=a*b(개발중) 3=a-b(현재 버그로 임시페쇄)");
 scanf("%d",&button);

if(button==1)
 add(p,c);
}

void add (void**p,void**c)
{int **d;
int i;
int j;
for(i=0;i<=p;i++)
{for(j=0;j<=c;j++)
{
d=(int)p+(int)c;
}
}
final(d);
}

void final (void ** r)
{
int i;
int j;
for(i=0;i<=r;i++)
{for(j=0;j<=r;j++)
{
    printf("%d",++r);
}

}
}