#3688: 想不到哪裡出錯...


wfu2009 (wfu2009)


#include<iostream>
using namespace std;

int t,i;

int main(){
    
cin >> t ;

int a[t][4];

for ( i=0; i<t && i<20  ; i++)
{   
    cin >> a[i][0] >> a[i][1] >> a[i][2] >> a[i][3]  ; 
    
    if ( a[i][1] - a[i][0] == a[i][3] - a[i][2]) {
         a[i][4]= a[i][3]-a[i][2]+a[i][3];
         }
    else {a[i][4]= a[i][3]*(a[i][3]/a[i][2]);}
}   
    
for ( i=0; i<t && i<20  ; i++)
{   
 
    cout << a[i][0] << " " 
    << a[i][1] << " " 
  << a[i][2] << " " 
  << a[i][3] << " " 
  << a[i][4] << endl ;

}
    
return 0;
    
}
 
上面是打算一次輸入完所有數列後,一次輸出所有答案 
但不知為何,不論t為多少,輸出答案時也只有最後一列的答案是正確的/____\
 
 
ps.現在拿掉中間的for...只循環一次(每輸一次數列,就輸出一次答案) ....過關了...orz
 
就是想求過明白!!! 
 
#3689: Re:想不到哪裡出錯...


linishan (L)


#include
using namespace std;

int t,i;

int main(){
    
cin >> t ;

int a[t][4];

for ( i=0; i<20  ; i++)
{   
    cin >> a[i][0] >> a[i][1] >> a[i][2] >> a[i][3]  ; 
    
    if ( a[i][1] - a[i][0] == a[i][3] - a[i][2]) {
         a[i][4]= a[i][3]-a[i][2]+a[i][3];
         }
    else {a[i][4]= a[i][3]*(a[i][3]/a[i][2]);}
}   
    
for ( i=0; i<20  ; i++)
{   
 
    cout << a[i][0] << " " 
    << a[i][1] << " " 
  << a[i][2] << " " 
  << a[i][3] << " " 
  << a[i][4] << endl ;

}
    
return 0;
    
}
 
上面是打算一次輸入完所有數列後,一次輸出所有答案 
但不知為何,不論t為多少,輸出答案時也只有最後一列的答案是正確的/____\
 
 
ps.現在拿掉中間的for...只循環一次(每輸一次數列,就輸出一次答案) ....過關了...orz
 
就是想求過明白!!! 
 


int a[t][ 5 ];

你用到a[ 0 1 2 3 4 ]

所以總共需要5個空間