몇 시간 전에 a question을 만들었지 만, 그 질문에 대한 질문을 마치면 끝내야 할 일을 혼란스럽게합니다. 사람들이 저에게 준 모든 해결책은 괜찮 았지만 내가 정말로 찾고 있었던 것에 대해서는 쓸모가 없었습니다. 그렇기 때문에 나는 질문을 썼습니다. 저는 중요한 가치를 지닌 위치를 구해야했습니다. 문제를 해결하기 위해 다른 질문에 구원받을 필요는 없었습니다. 여기에 적절한 것이 있습니다.값을 찾은 후 행렬의 행과 열을 제거합니다. (C)
(위의 예제로 모든 것이 설명됩니다. 이해하기 쉽습니다) 저는 8x8 매트릭스를 가졌으며, 원하는 행을 선택한 후에 3 가지 최소 요소를 얻고 싶습니다. 무작위로. 그런 다음이 번호가 포함 된 행과 열을 제거하십시오. 것은 그 세 가지 요소를 처리하고 열/행을 제거하는 방법을 알지 못한다는 것입니다. 나는 다음 요소 인 최소 요소를 얻는 방법을 알고있다.
int pieza[ROWS][COLS] = {
0, 2, 2, 5, 3, 2, 1, 1,
0, 4, 5, 2, 4, 3, 0, 0,
0, 4, 2, 2, 1, 2, 3, 2,
0, 3, 1, 5, 1, 2, 3, 4,
2, 5, 6, 5, 3, 1, 2, 7,
8, 2, 0, 0, 0, 2, 1, 1,
1, 2, 2, 1, 1, 6, 3, 4,
0, 1, 3, 2, 0, 0, 0, 0,
};
int myrow = 3; // the row I want to analyze
int index;
int min=0;
for (index=0;index<8;index++) {
printf("%d", piezas[myrow][index]);
if(piezas[myrow][index]<min)
min=piezas[myrow][index];
printf("\t\t");
}
printf("min: %d", min);
이것은 내가하고 싶은 것입니다. 초기 행렬 (A nxn
매트릭스 항상있는) 인 경우 :
{
0, 2, 2, 5, 3, 2, 1, 1,
0, 4, 5, 2, 4, 3, 0, 0,
0, 4, 2, 2, 1, 2, 3, 2,
0, 3, 1, 5, 1, 2, 3, 4,
2, 5, 6, 5, 3, 1, 2, 7,
8, 2, 0, 0, 0, 2, 1, 1,
1, 2, 2, 1, 1, 6, 3, 4,
0, 1, 3, 2, 0, 0, 0, 0,
};
은 내가 행 번호 3를 선택
0, 3, 1, 5, 1, 2, 3, 4,
알고리즘은 해당 행의 세 가지 최소 요소를 선택해야합니다.
0, 1, 1
그리고 이들 중 하나를 임의로 선택하십시오. 예를 들어, 첫 번째 '하나'...
0, **1**, 1
이 ... 알고리즘이 그 라인은 13 번째 열로 이동합니다 선택한 경우 (즉이었다 위치했다 becaue을하는 '1') 및
{
0, 2, 5, 3, 2, 1, 1,
0, 4, 2, 4, 3, 0, 0,
0, 4, 2, 1, 2, 3, 2,
2, 5, 5, 3, 1, 2, 7,
8, 2, 0, 0, 2, 1, 1,
1, 2, 1, 1, 6, 3, 4,
0, 1, 2, 0, 0, 0, 0,
};
난 단지 라인에 도착하는 방법을 알고 : (당신이 행과 열을 제거한 beucase) 원래 매트릭스보다 적은, 하나 개의 차원을 행과 열을 제거하므로 다음과 같이 출력 행렬이 될 것입니다 ,하지만 난 문제가 포인터의 톤을 가지고 있고 C로 많이 아니에요 때문에 3 최소를 처리하는 데 문제가있어.
미리 감사드립니다
귀하의 최종 매트릭스 (원하는 출력)하지 않습니다 이해가된다면'[8] [8]'로 선언 된 행렬을 가질 수없고 단지 7x7 행렬에 대한 이니셜 라이저 만 제공하면됩니다. 7 개 요소 뒤에 줄 바꿈을한다는 사실은 C 컴파일러에 아무런 의미가 없다는 것을 의미하기 때문에, 여러분이 요구하는 것이기 때문에 8x8 행렬을 줄 것입니다. – unwind
내 잘못입니다. 'nxn' 매트릭스를 주면 출력 매트릭스는'n-1 x n-1' 매트릭스가되어야합니다. 1 차원 적은. 게시물이 지금 편집됩니다. –