C 언어: 안장 찾기
12186 단어 C 언어
행렬 요소의 안장 점은 해당 위치의 요소 값이 행에서 가장 크고 열에서 가장 작은 것을 의미합니다.이 문제는 프로그램이 정해진 n 단계 방진의 안장을 구하는 것을 요구한다.입력 형식: 첫 번째 줄을 입력하면 정수 n(1≤n≤6)을 줍니다.다음에 n 줄, 줄마다 n 개의 정수를 주고, 그 사이를 빈칸으로 구분한다.출력 형식: 한 줄에서 행 아래 첨자 열 아래 첨자(아래 첨자는 0부터 시작)의 형식으로 안장 위치를 출력합니다.안장 점이 없으면 NONE을 내보냅니다.제목은 주어진 행렬에 안장점이 하나까지 존재할 것을 보증합니다.입력 예제 1:4 1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9 출력 예제 1:2 1 입력 예제 2:2 1 7 4 1 출력 예제 2: NONE
#define _CRT_SECURE_NO_WARNINGS
#include
#define N 6
void main()
{
int x, y, z, i, j, n, m, t, k, p;
int a[N][N], b[N] = { 0 };
y = 0;
p = 0;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if (j == n - 1)
scanf("%d", &a[i][j]);
else
scanf("%d", &a[i][j]);
}
}
for (i = 0; i < n; i++)
{
m = 1;
p = k = a[i][0];
t = 0;
for (j = 0; j < n; j++)
if (k < a[i][j])
{
p = k = a[i][j];
t = j;
b[0] = t;
}
for (j = 0; j < n; j++)
{
if (k == a[i][j])
{
if (j != t)
b[m] = j;
m++;
}
}
for (z = 0; z < m; z++)
{
t = b[z];
for (x = 0; x < n; x++)
{
if (a[x][t] < k)
{
p = -1;
break;
}
}
if (z != m - 1)
{
if (p == 0)
break;
else
p = 0;
}
}
if (p == 0)
{
printf("%d %d", i, t);
y = 0;
break;
}
else
y = 1;
}
if (y == 1)
printf("NONE");
}
주: 첫 번째 줄은 VS 컴파일러를 사용하기 때문에 DEV나 VC++6.0을 사용하면 첫 번째 줄을 제거해야 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.