2012-06-04 1 views
1

가변 개수의 행과 2 개의 열이있는 2 차원 배열이 있는데, 열의 가장 큰 차이가있는 행을 찾아야합니다. 더 명확하게하기 : 나는 최저 기온과 최고 기온을 n 일 동안 제공 받았고 기온의 차이가 가장 큰 날을 찾아야한다고했다. (그리고 이틀간이 같은 차이가 있다면, 나는 첫 번째 것만). 그러나 다차원 배열을 사용한 적이 없기 때문에 다음과 같이 할 수 있는지 확실하지 않습니다. [i] [1] -a [i] [0]? (a [I]는 일의 인덱스이며, a는 [1] [0] 최저이며, 하루 최고 온도)C++ : 2 차원 배열, 열의 차이가 가장 큰 행을 찾는 방법?

내 코드의이 부분은 다음과 같다 :

int difference (int n, float a[maxn][2]) { 
    float difference=a[0][1]-a[0][0]; 
    int index=0; 
    for (int i=0; i<n; i++) { 
     if (a[i][1]-a[i][0]>difference) { 
      index=i; 
      a[i][1]-a[i][0]=difference; //HERE I get the error message: lvalue required as left operand of assignment 
     } 
    } 
    return index+1; //to get the day with the largest difference 

내가 과제로하지 않지만 ==와의 차이를 값으로 만들면 "진술은 아무런 효과가 없다"고합니다. 그래서 나는 어쩌면 내가 무엇을 할 수 없는지 생각하고있었습니다. 나는하려고 애쓴다.

답변

4
  1. 당신은 기능 이름을 섀도 잉하고 있습니다. 그 중 하나가 difference 일 수 있습니다.
  2. =은 왼쪽에 할당하려는 변수에서만 작동합니다. 시도 :

    difference = a[i][1] - a[i][0]; 
    
+0

또한 루프 전에 –

+0

아를 차이를 계산 할 필요가 없습니다, 나는이를 잊고 계속! 이것은 두 번째로 실수를 범하고 변수를 오른쪽에 두었습니다. 고마워요! – d12n