<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%ED%81%B0%EC%88%98%EC%B0%BE%EC%95%84%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0%2F%EA%B9%80%ED%83%9C%ED%9B%88zyint</id>
	<title>큰수찾아저장하기/김태훈zyint - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%ED%81%B0%EC%88%98%EC%B0%BE%EC%95%84%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0%2F%EA%B9%80%ED%83%9C%ED%9B%88zyint"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%ED%81%B0%EC%88%98%EC%B0%BE%EC%95%84%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0/%EA%B9%80%ED%83%9C%ED%9B%88zyint&amp;action=history"/>
	<updated>2026-05-15T18:52:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%ED%81%B0%EC%88%98%EC%B0%BE%EC%95%84%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0/%EA%B9%80%ED%83%9C%ED%9B%88zyint&amp;diff=76286&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:31, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%ED%81%B0%EC%88%98%EC%B0%BE%EC%95%84%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0/%EA%B9%80%ED%83%9C%ED%9B%88zyint&amp;diff=76286&amp;oldid=prev"/>
		<updated>2021-02-07T05:31:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 느낀점 ==&lt;br /&gt;
&lt;br /&gt;
문제는 쉬운데 이걸 함수로 나누기가 무지 애매하다 -_-; &lt;br /&gt;
문제는 금방풀고; 이 프로그래밍 함수 어떻게 나눌지 생각한게 한시간 걸렸을듯...&lt;br /&gt;
&lt;br /&gt;
일단 리팩토링 전 소스만 올렸다;&lt;br /&gt;
&lt;br /&gt;
* 추가: 리팩토링(?) 한거같지도 않지만-_- 일단 나눠봤다; 행렬에서 transpose를 이용해서;;; 일단 짜보았는데 효율적이진 않은듯 -_-&lt;br /&gt;
== 리팩토링 前 소스 ==&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt; &lt;br /&gt;
 &lt;br /&gt;
 #define ROW 4&lt;br /&gt;
 #define COL 4&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 void prt_array(int value[ROW][COL]);&lt;br /&gt;
 &lt;br /&gt;
 int main(int argc, char* argv[])&lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
 	//int value[4][4]={ {1,2,3}, {3,4,5}, {4,5,6}};&lt;br /&gt;
 	int max;&lt;br /&gt;
 	int i,j;&lt;br /&gt;
 	int value[ROW][COL];&lt;br /&gt;
 &lt;br /&gt;
 	//전체 4 * 4 행렬의 공간 중 3 * 3 행렬의 공간에 키보드로 입력을 받아 숫자를 저장한 후,  &lt;br /&gt;
 	for(i=0;i&amp;amp;lt;ROW-1;i++){&lt;br /&gt;
 		for(j=0;j&amp;amp;lt;COL-1;j++){&lt;br /&gt;
 			scanf(&amp;quot;%d&amp;quot;,&amp;amp;amp;value[i][j]);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	//행렬[i][3]에는 각 행 중 가장 큰 수를 찾아 저장하고,&lt;br /&gt;
 	for(i=0;i&amp;amp;lt;ROW-1;++i){&lt;br /&gt;
 		max=0;&lt;br /&gt;
 		for(j=0;j&amp;amp;lt;COL-1;++j){&lt;br /&gt;
 			if(max &amp;amp;lt; value[i][j]) max = value[i][j];&lt;br /&gt;
 		}&lt;br /&gt;
 		value[i][3] = max;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	&lt;br /&gt;
 	//행렬[3][j]에는 각 열 중 가장 큰 수를 찾아 저장하고,  &lt;br /&gt;
 	for(j=0;j&amp;amp;lt;COL-1;++j){&lt;br /&gt;
 		max = 0;&lt;br /&gt;
 		for(i=0;i&amp;amp;lt;ROW-1;++i){&lt;br /&gt;
 			if(max &amp;amp;lt; value[i][j]) max = value[i][j];&lt;br /&gt;
 		}&lt;br /&gt;
 		value[3][j] = max;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 	&lt;br /&gt;
 	//행렬[3][3]에는 전체 중 가장 큰 수를 찾아 저장한 다음, &lt;br /&gt;
 	max=0;&lt;br /&gt;
 	for(i=0;i&amp;amp;lt;ROW-1;++i) if(max &amp;amp;lt; value[i][3]) max=value[i][3];&lt;br /&gt;
 	for(i=0;i&amp;amp;lt;COL-1;++i) if(max &amp;amp;lt; value[3][i]) max=value[3][i];&lt;br /&gt;
 	value[3][3] = max;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 	&lt;br /&gt;
 	//이들을 깔끔하게 출력하는 프로그램을 작성하여라. &lt;br /&gt;
 	prt_array(value);&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 //////////////////////////////////////////////////////////////////////////&lt;br /&gt;
 //// Functions ///////////////////////////////////////////////////////////&lt;br /&gt;
 //////////////////////////////////////////////////////////////////////////&lt;br /&gt;
 void prt_array(int value[ROW][COL]) &lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
 	int i=ROW,j=COL;&lt;br /&gt;
 	for(i=0;i&amp;amp;lt;ROW;++i)	{&lt;br /&gt;
 		for(j=0;j&amp;amp;lt;COL;++j)	{&lt;br /&gt;
 			printf(&amp;quot;%d &amp;quot;,value[i][j]);		&lt;br /&gt;
 		}&lt;br /&gt;
 		printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 리팩토링 後 소스 ==&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt; &lt;br /&gt;
 &lt;br /&gt;
 #define ROW 4&lt;br /&gt;
 #define COL 4&lt;br /&gt;
 #define DEBUG&lt;br /&gt;
 &lt;br /&gt;
 void prt_array(int value[ROW][COL]); //행렬 출력&lt;br /&gt;
 void swap(int* x,int* y); //두 파라미터를 바꾸기&lt;br /&gt;
 void transpose(int (*value)[COL]); //행렬의 diagonal을 기준으로 transpose&lt;br /&gt;
 void findmax_row(int (*value)[COL]); //한 행의 최대값을 마지막 열에 넣기&lt;br /&gt;
 &lt;br /&gt;
 int main(int argc, char* argv[])&lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
 	int max;&lt;br /&gt;
 	int i;&lt;br /&gt;
 	&lt;br /&gt;
 #ifdef DEBUG&lt;br /&gt;
 	int value[ROW][COL]={{1,2,3},{3,4,5},{4,5,6}};&lt;br /&gt;
 #else&lt;br /&gt;
 	int value[ROW][COL];&lt;br /&gt;
 	//전체 4 * 4 행렬의 공간 중 3 * 3 행렬의 공간에 키보드로 입력을 받아 숫자를 저장한 후,  &lt;br /&gt;
 	for(i=0;i&amp;amp;lt;ROW-1;i++){&lt;br /&gt;
 		for(j=0;j&amp;amp;lt;COL-1;j++){&lt;br /&gt;
 			scanf(&amp;quot;%d&amp;quot;,&amp;amp;amp;value[i][j]);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 #endif //DEBUG&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 	//행렬[i][3]에는 각 행 중 가장 큰 수를 찾아 저장하고,&lt;br /&gt;
 	findmax_row(value);&lt;br /&gt;
 	transpose(value);&lt;br /&gt;
 &lt;br /&gt;
 	//행렬[3][j]에는 각 열 중 가장 큰 수를 찾아 저장하고,   &lt;br /&gt;
 	findmax_row(value);&lt;br /&gt;
 	transpose(value);&lt;br /&gt;
 &lt;br /&gt;
 	&lt;br /&gt;
 &lt;br /&gt;
 	//행렬[3][3]에는 전체 중 가장 큰 수를 찾아 저장한 다음, &lt;br /&gt;
 	max=0;&lt;br /&gt;
 	for(i=0;i&amp;amp;lt;ROW-1;++i) if(max &amp;amp;lt; value[i][3]) max=value[i][3];&lt;br /&gt;
 	for(i=0;i&amp;amp;lt;COL-1;++i) if(max &amp;amp;lt; value[3][i]) max=value[3][i];&lt;br /&gt;
 	value[3][3] = max;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 	//이들을 깔끔하게 출력하는 프로그램을 작성하여라. &lt;br /&gt;
 	prt_array(value);&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 //////////////////////////////////////////////////////////////////////////&lt;br /&gt;
 //// Functions ///////////////////////////////////////////////////////////&lt;br /&gt;
 //////////////////////////////////////////////////////////////////////////&lt;br /&gt;
 void prt_array(int value[ROW][COL]) &lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
 	int i=ROW,j=COL;&lt;br /&gt;
 	for(i=0;i&amp;amp;lt;ROW;++i){&lt;br /&gt;
 		for(j=0;j&amp;amp;lt;COL;++j){&lt;br /&gt;
 			printf(&amp;quot;%d &amp;quot;,value[i][j]);		&lt;br /&gt;
 		}&lt;br /&gt;
 		printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void findmax_row(int (*value)[COL])&lt;br /&gt;
 {&lt;br /&gt;
 	int i,j,max;&lt;br /&gt;
 &lt;br /&gt;
 	for(j=0;j&amp;amp;lt;ROW-1;++j){&lt;br /&gt;
 		max=0;&lt;br /&gt;
 		for(i=0;i&amp;amp;lt;COL-1;++i){&lt;br /&gt;
 			if(max &amp;amp;lt; value[j][i]) max = value[j][i];&lt;br /&gt;
 		}&lt;br /&gt;
 		value[j][3] = max;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void transpose(int (*value)[COL])&lt;br /&gt;
 {&lt;br /&gt;
 	int i,j;&lt;br /&gt;
 &lt;br /&gt;
 	for(i=0;i&amp;amp;lt;ROW;++i)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(j=1+i;j&amp;amp;lt;COL;++j){&lt;br /&gt;
 			swap(&amp;amp;amp;value[i][j],&amp;amp;amp;value[j][i]);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 void swap(int* x,int* y)&lt;br /&gt;
 {&lt;br /&gt;
 	int tmp;&lt;br /&gt;
 	tmp = *x;&lt;br /&gt;
 	*x = *y;&lt;br /&gt;
 	*y = tmp;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 나에게 할말 ==&lt;br /&gt;
&lt;br /&gt;
오오;; 함수나누는 부분이 예술이다 +_+ 나도 써먹어볼까 ㅎㅎ&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[LittleAOI]] [[큰수찾아저장하기]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>