초보자 C++ 프로그래머 (Visual Studio 2013 사용).C++ : 매트릭스에서 주어진 숫자의 행 및 열 반환 function
숫자를 삽입 할 수있는 함수를 작성하고 해당 숫자의 바로 위나 아래 또는 옆에 0이 있는지 확인한 다음 0 위치를 반환합니다.
예를 들어 (1, 1)에있는 숫자 2의 주변을 확인하려면 (1, 2)에있는 0의 위치를 반환하고 싶습니다. 이 일을 어떻게 하죠? 대신 행렬 필드를 사용해야합니까 (예 : int [] [])?
이 함수는 숫자 2가 다른 숫자 (제 경우는 0)와 교환 할 수 있는지를 결정하는 데 사용되며 제로가 바로 위에 있거나 아래 또는 옆에있는 경우에만 수행 할 수 있습니다 그것. A (행 안부)에서 15과 장소를 -
지금까지, 그것은 단지 벡터 매트릭스 (I 잘못된 용어를 사용하고 있다면 죄송합니다)를 생성이 내 코드입니다3 5 6 8
9 2 0 7
1 8 9 3
1 3 5 7
는 1 번 사이를 랜덤 선택한 행 (col)의 숫자를 0으로 바꾸려면 set_zero 함수를 사용합니다. 난하지만 난 그것을 발견하지 비슷한 무언가에 대한 웹 검색 해봤
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <iomanip>
#include <vector>
using namespace std;
void set_zero(int row, int column, vector<vector<int>>& v){
v[row][column] = 0;
}
void scan_zero(vector<vector<int>>& v){
}
int _tmain(int argc, _TCHAR* argv[])
{
const int x = 4;
vector<vector<int>> v(x, vector<int>(x));
for (int i = 0; i < x; i++){
for (int j = 0; j < x; j++){
v[i][j] = rand() % 15 + 1;
}
}
set_zero(1, 2, v);
for (int i = 0; i < x; i++){
for (int j = 0; j < x; j++){
cout << setw(3) << v[i][j] << " ";
}
cout << endl;
}
}
, 나는 그것을 밖으로있을거야하지만 난 그냥 제대로 검색 질문을 공식화하는 방법을 모르겠어요.
귀하의 질문을 이해할 수 있을지 잘 모르겠습니다. [std :: pair] (http://en.cppreference.com/w/cpp/utility/pair)를 사용 하시겠습니까? – streppel
키보드로 입력하는 방법을 묻고 있습니까? – splrs
@Streppel 정수 x를 삽입 할 수있는 함수를 만들고 싶습니다. 함수는 x에서 인접한 숫자를 검색하고 그 중 하나가 0인지 확인합니다.만일 그렇다면, 숄드는 상기 제로의 위치를 리턴한다. – crypt555