128개 station 까지 확장...
날샘
질문 제목 : 이 코드에서 128 개까지 2차원 배열 만들려면 어떻게해야되나요 ?2~64개의 station 만 만들어지는데 전 최대 100까지 필요해서 128개의 station 을 입력받아야하는데
어떻게 해야될까요..?
질문 내용 :tx 입력을 100이상 그러니까 128 을 받고 싶은데 64까지 밖에 안되는군요 어떻게 해야될까요 ?
음. .일단 퍼온거구요... 프로그래밍에대한 수업도 아닌대 프로그래밍 과제를 내주셔서 많이 힘들군요 ㅠㅠ..
씨는 기본정도 밖에 모릅니다.. ㅠㅠ
#include stdio.h
#include string.h
#include stdlib.h
#include malloc.h
#include math.h
void main(void) /* 메인 함수 */
{
int i, j, k, l, m, n; /* 정수형 변수 선언 */
int tx, len, row, a, b; /* 정수형 변수 선언 */
int** data; /* data 2차원 포인터 변수 선언 */
int** walsh; /* walsh 2차원 포인터 변수 선언 */
int w2[2][2]; /* 2*2 배열 선언(walsh 2단 저장) */
/* transmitter(user)와 data 길이 입력 */
printf(******* ds-cdma *******\n\n); /* 출력 */
printf(input transmitter (range: 2-128): ); /* 출력 */
scanf(%d, &tx); /* tx(user)를 입력 받음(2~64) */
printf(\ninput data lenth : ); /* 출력 */
scanf(%d, &len); /* data의 길이를 입력 받음 */
/* walsh code generator */
w2[0][0]=1; /* 기본적으로 2단 walsh code를 배열에 저장 */
w2[0][1]=1; /* walsh 2단을 바탕으로 kronecker product를 사용하여 walsh code 생성 */
w2[1][0]=1;
w2[1][1]=-1;
a = (int)(log((double)tx)/log((double)2)); /* log(2)tx의 값을 a에 집어넣음 */
if(pow((double)2,(double)a)==tx) /* tx의 수가 2^n과 같을 경우 */
{
n=a; /* n에 a의 값을 집어넣음 */
row = (int)(pow((double)2,(double)n)); /* row(walsh 단수)에 2^n을 집어 넣음 */
}
if(pow((double)2,(double)a)!=tx) /* data수가 2^n과 다를 경우 */
{
n=a+1; /* n에 a한 값을 넣어준다 */
row = (int)(pow((double)2,(double)n)); /* row(walsh 단수)에 2^n을 집어 넣음 */
}
printf(\nwalsh table : w%d table\n , row); /* 출력 */
walsh = (int**)malloc(sizeof(int*)*row); /* row 행의 walsh 동적 배열 생성 */
for(i=0; irow; i++) /* row 동안 반복 */
{
walsh[i] = (int*)malloc(sizeof(int)*row); /* 각 행마다 row 만큼의 열 생성 */
}
for(i=0; i2; i++) /* 2번 반복 */
{
for(j=0; j2; j++) /* 2번 반복 */
{
walsh[i][j]=w2[i][j]; /* walsh code에 기본 2단 배열을 집어넣음 */
}
}
m=1; /* m=1로 초기화 */
while( m log((double)row)/log((double)2)) /* m이 log(2)row 보다 작을때 까지 반복 */
{
b = (int)pow((double)2,(double)m); /* temp2 */
for(k=0; k2; k++) /* 2번 반복(기본 walsh code가 2단임) */
{
for(l=0; l2; l++) /* 2번 반복(기본 walsh code가 2단임) */
{
for(i=0; ib; i++ ) /* b 동안 반복 */
{
for(j=0; jb; j++) /* b 동안 반복 */
{
walsh[k*b+i][l*b+j]=w2[k][l]*walsh[i][j]; /* kronecker product를 이용해서 walsh code 생성 */
}
}
}
}
m++; /* m을 1씩 증가 시킴 */
}
for(i=0;irow;i++) /* row 동안 반복 */
{
for(j=0;jrow;j++) /* row 동안 반복 */
{
printf(%4d,walsh[i][j]); /* walsh code 출력 */
}
printf(\n); /* 한줄 밑으로 내림 */
}
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |
2691650 | 반복문 | 돋가이 | 2025-04-15 |
2691618 | 링크드리스트 개념 질문이예요 (3) | 맨마루 | 2025-04-15 |
2691592 | 동적할당 이용 배열선언 질문입니다.ㅠㅠ (3) | 허리달 | 2025-04-15 |
2691542 | /=의 용도를 알려주세요 ㅠㅠ! (2) | 아라 | 2025-04-14 |