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); /* 한줄 밑으로 내림 */
}
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676182 | 숫자 순서대로 배열하는법 | 권뉴 | 2024-11-24 |
2676152 | 기본적인거 하나 질문드립니다. | 개미 | 2024-11-24 |
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |