C++
에서
은 파일에서 NxN
매트릭스 스타일 입력을 읽고 N
가 주어진다 가정 O(n^2)
보다 점근 복잡도를 갖는 시간의 이차원 배열에 할당 할 수있다 첫 번째 줄과 다른 줄은 정수 사이에 공백이 있습니까? 입력 배열을 가로 질러 하나씩 배열을 채울 수 있습니다.이 정수는 비용이 O(n^2)
입니다.C++ 읽기 매트릭스 형 입력
#define MAX_SIZE 1000
std::string row,temp;
std::ifstream inpfile("input.txt");
inpfile>>row;
int size=std::stoi(row);
static int M[MAX_SIZE][MAX_SIZE];
for(int i=0;i<size;++i){
for(int j=0;j<size;++j){
inpfile>>temp;
A[i][j]=std::stoi(temp);
}
}
은 그냥 nth line
을 읽고 linear time
시간의 복잡성을 줄일 수 배열 (또는 컨테이너)의 nth row
을 만드는 같은 것을 생각한다. 주어진 행렬의 모든 요소를 반복하는 것보다 나은 구현이 있습니까?
'int [크기] [크기];'- 이것은 유효하지 않습니다. C++. C++의 배열은 변수가 아닌 항목 수를 나타내는 컴파일 타임 상수를 사용하여 선언됩니다. – PaulMcKenzie
참. 내 질문을 편집했습니다. – kntgu
매트릭스가 어떻게 배치되어 있더라도 매트릭스를 채우기 위해 여전히 N x N 값을 읽을 필요가 있으므로 귀하의 질문을 이해할 수 없습니다. – PaulMcKenzie