U E D R , A S I H C RSS

수학�정�/행렬/조현태

�낀� � 설명

보면 알 수 있지만, 연산부분� 나눌 수 있는�� 불구하고 나누지 않았다.
�유는 ��때문.. (알고리즘따위 버려버리고 단지 오버헤드를 줄임으로� ��를 높�려는 대마왕� 수작..;;�;;)
그나저다 � cpu_clocks�는거.. 너무 안정확하잖아!!!!
입력� 받는 부분� �함시켜 버리면.. 늦게 입력하면 걸린시간� 많�걸로 나오고, 빨리 입력하면 걸린시간� 짧�걸로 나온다.
그래서 �단 그부분� 제외하긴 했는�..(입력부를 위��어서 계산� 제외한게 현재소스).. 그러니까 0초.. 대략 할� 없�..
�..;;�;;

소스

~cpp 
// CPU_CLOCKS 구하는 법. 
#include <time.h> 
#include <stdio.h>
#include <iostream>
const int BAE_YOL_SU=2;
int size_x[BAE_YOL_SU];
int size_y[BAE_YOL_SU];
int *baeyol[BAE_YOL_SU];

void input_data();

int main() 
{ 
	input_data();// 기본 변수들 
		int time_in;   // 초기 시작 시간. 
	time_in = clock();   // 초기 시작 시간� 입력한다. 
	if (size_x[0]!=size_x[1] || size_y[0]!=size_y[1])
		printf("불가능\n");
	else
	{
		for (register int i=0; i<size_y[0]; ++i)
		{
			for (register int j=0; j<size_x[1]; ++j)
			{
				printf("%d ",*(baeyol[0]+i*size_x[0]+j)+*(baeyol[1]+i*size_x[1]+j));
			}
			printf("\n");
		}
	}
	if (size_x[0]!=size_y[1])
		printf("불가능\n");
	else
	{
		for (register int i=0; i<size_y[0]; ++i)
		{
			for (register int j=0; j<size_x[1]; ++j)
			{
				int temp=0;
				for (register int k=0; k<size_x[0]; ++k)
					temp+=(*(baeyol[0]+i*size_x[0]+k))*(*(baeyol[1]+k*size_x[1]+j));
				printf("%d ",temp);
			}
			printf("\n");
		}
	}
	for (register int i=0; i<BAE_YOL_SU; ++i)
		free(baeyol[i]);
	printf("CPU CLOCKS = %d\n", clock() - time_in);   // �났�때 시간 - 초기 시작시간 = 프로그램 실행 시간 
	return 0;    // 프로그램 종료. 
} 

void input_data()
{
	for (register int i=0; i<BAE_YOL_SU; ++i)
	{
		printf("배열� 세로길�를 입력해주세요.>>");
		scanf("%d",&size_y[i]);
		printf("배열� 가로길�를 입력해주세요.>>");
		scanf("%d",&size_x[i]);
		printf("\n");
		baeyol[i]=(int*)malloc(sizeof(int)*size_x[i]*size_y[i]);
		for (register int j=0; j<size_y[i]; ++j)
		{
			for (register int k=0; k<size_x[i]; ++k)
			{
				printf("%d행 %d열� 숫�를 입력해주세요.>>",j+1,k+1);
				scanf("%d",baeyol[i]+j*size_x[i]+k);
			}
			printf("\n");
		}
	}
	printf("\n");
}
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:15
Processing time 0.0039 sec