문제
내가 작성한 코드
#include <stdio.h>
#define ARRAY_SIZE 5
void swap(int arr[][ARRAY_SIZE], int p1, int p2) //위치 바꾸는 함수
{
int firsth = p1/5; //첫번째 값의 행
int firstw = p1%5; //첫번째 값의 열
int secondh = p2/5; //두번째 값의 행
int secondw = p2%5; //두번째 값의 열
int tmp = arr[firsth][firstw]; //임시 저장
arr[firsth][firstw] = arr[secondh][secondw]; //첫번째 자리에 두번째 자리 값 저장
arr[secondh][secondw] = tmp; //두번째 자리에 임시 값 저장
}
int main()
{
int arr[ARRAY_SIZE][ARRAY_SIZE]; //배열 선언
int p1;
int p2;
//입력 받기
for (int i = 0; i < ARRAY_SIZE; i++)
{
for (int j=0; j < ARRAY_SIZE; j++)
{
scanf("%d", &arr[i][j]);
}
}
scanf("%d %d", &p1, &p2);
swap(arr, p1, p2); //함수 호출
//바뀐 결과 출력
for (int i = 0; i < ARRAY_SIZE; i++)
{
for (int j=0; j < ARRAY_SIZE; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
'C언어 > 주차별 문제' 카테고리의 다른 글
[12주차] 배열의 최소값 모두 더하기(동적 할당) (0) | 2023.06.14 |
---|---|
[11주차] 제일 긴 문자열 찾기 (0) | 2023.06.08 |
[11주차] 정방행렬의 덧셈 (0) | 2023.06.08 |
[11주차] 배열의 최소값 모두 더하기 (0) | 2023.06.08 |
[10주차] 2차원 배열 정렬 (0) | 2023.06.06 |