प्रोग्राम: इसलिए मैंने एक प्रोग्राम बनाया है जो दो नंबर लेता है, एन और एल एन 2 डी सरणी का आकार है और एल 3 - 16 से एक नंबर है। प्रोग्राम सरणी बनाता है और शुरू होता है केंद्र में और काउंटर घड़ी के सर्पिल में अपना रास्ता काम करता है। मैं केंद्र का मूल्य है और जैसे ही आप सरणी (सर्पिल में) के माध्यम से जाते हैं, वैसे ही मूल्य बढ़ जाएगा। यह प्रमुख है, यह संख्या होगी उस स्थान को असाइन किया गया और यदि नहीं यह * बजाय अपनी जगह ले जाएगाफ़्लोटिंग पॉइंट अपवाद (कोर डंप
त्रुटि:। मैं एक "चल बिन्दु अपवाद" त्रुटि मिल रही है, मैं यह कैसे हल होगा
कोड:?
void Array_Loop(int *Array, int n, int L) ;
int Is_Prime(int Number) ;
int main(int argc, char *argv[]){
int **Array ;
int n, L ;
n = atoi(argv[1]) ;
L = atoi(argv[2]) ;
Matrix_Build(&Array, n, n) ;
Array_Loop(Array, n, L) ;
return 0 ;
}
void Array_Loop(int *Array, int n, int L){
int i, j, k, h ;
int lctn, move;
lctn = n/2 + 1 ;
i = lctn ;
j = lctn ;
move = 1
while(i != 0 && j != n){
for(j = lctn ; j < lctn + move ; j++){
if(L % 2 == 2) Array[i][j] = -1 ;
else Array[i][j] = Is_Prime(L) ;
L++ ;
}
move = move * -1 ;
for(i = i ; i > lctn - move ; i--){
if(L % 2 == 2) Array[i][j] = -1 ;
else Array[i][j] = Is_Prime(L) ;
L++ ;
}
move-- ;
for(j = j ; j > lctn - move ; j--){
if(L % 2 == 2) Array[i][j] = -1 ;
else Array[i][j] = Is_Prime(L) ;
L++ ;
}
move = move * -1 ;
for(i = i ; i < lctn - move ; i--){
if(L % 2 == 2) Array[i][j] = -1 ;
else Array[i][j] = Is_Prime(L) ;
L++ ;
}
move++ ;
}
}
int Is_Prime(int Number){
int i ;
for(i = 0 ; i < Number/2 ; i++){
if(Number % i != 0) return -1 ;
}
return Number ;
}
आप विभाजित कर रहे हैं/शून्य से modding। – Mysticial
'संख्या% i' ... 'i = 0' पहले पुनरावृत्ति पर। – Mysticial
साथ ही, जब 'move <0', 'lctn - move> lctn'। अपने संकेत देखें। –