2013-07-18 10 views
6

किसी कारण से, जब मैं किसी प्रोग्राम को संकलित करने का प्रयास करता हूं, तो संकलक कहता है कि अनुमति अस्वीकार कर दी गई है और आईडी 1 निकास स्थिति लौटा दी है। क्या कोई मुझे बता सकता है इसका क्या अर्थ है? धन्यवादसी संकलन त्रुटि: आईडी 1 निकास स्थिति

#include <stdio.h>            /* Library inclusions */ 
#include "genlib.h" 
#include "simpio.h" 

int binSearch(int val, int numbers[], int size1);    /* prototypes */ 
void sortArray (int numbers[], int size1);      
int indexMax (int numbers[], int low, int high); 
void swap (int numbers[], int loc, int loc1); 
void getArray (int numbers[], int size1); 
void displayArray (int numbers[], int size1); 

main() 
{ 
    int value, size1; 

    printf("Enter the number of elements: "); 
    size1=GetInteger(); 
    int numbers[size1]; 
    getArray(numbers, size1); 
    sortArray(numbers, size1); 
    displayArray(numbers, size1); 
    printf("\nEnter value to find: "); 
    value=GetInteger(); 
    binSearch(value, numbers, size1); 
    getchar(); 
} 

void sortArray (int numbers[], int size1)      /*Function sortArray*/ 
{ 
int i , maxInd; 

for (i= size1-1; i>=0;i--) 
{ 
    maxInd=indexMax(numbers, 0, i); 
    swap (numbers, i, maxInd); 
} 
} 

void displayArray (int numbers[], int size1)      /*Function displayArray*/ 
{ 
int i; 

printf("This is the sorted set of numbers: \n"); 
for (i=0; i< size1; i++) 
{ 
     printf ("%d\t", numbers[i]); 
    } 
} 

void getArray (int numbers[], int size1)       /*Function getArray*/ 
{ 
int i; 

for (i=0; i<size1; i++) 
{ 
    printf ("Enter the values of the %d elements: ", size1); 
    numbers[i]=GetInteger(); 
} 
} 

int indexMax (int numbers[], int low, int high)     /*Function indexMax*/ 
{ 
int i, maxInd; 

maxInd=high; 
for (i=low;i<=high;i++) 
{ 
    if (numbers[i]>numbers[maxInd]) 
    { 
        maxInd =i; 
    } 
    } 
    return (maxInd); 
} 

void swap (int numbers[], int loc, int loc1)      /*Function swap*/ 
{ 
int temp; 

temp=numbers[loc]; 
numbers[loc]=numbers[loc1]; 
numbers[loc1]=temp; 
} 

int binSearch(int val, int numbers[], int size1)     /*Function binSearch*/ 
{ 
int low, high, mid; 

low=0; 
high=size1-1; 
while(low<=high) 
{ 
       mid=(low+high)/2; 
       if(val<numbers[mid]) 
       { 
           high=mid-1;     
       }    
       else if(val>numbers[mid]) 
       { 
           low=mid+1; 
       } 
       else if(val==numbers[mid]) 
       { 
           printf("Your number is in location %d\n", mid+1);break;  
       } 
       else 
       { 
           printf("Your value is not in the array.");   
       } 
    } 
} 

उपर्युक्त बाइनरी खोज एल्गोरिदम कोड है जिसे मैंने संकलित करने का प्रयास किया है।

+1

क्या आप कृपया अपना प्रोग्राम और संकलक कमांड जोड़ सकते हैं जिसे आप संकलित करने के लिए उपयोग कर रहे हैं? –

+0

क्या आपके पास स्रोत फ़ाइल पर पढ़ने की अनुमति है? क्या आपके पास निर्देशिका में लिखने की अनुमति है? – jxh

+0

यह एक प्रोग्रामिंग प्रश्न नहीं है - लेकिन एक सिस्टम ऑपरेशन सवाल है। कम से कम आपको अपने ऑपरेटिंग सिस्टम को निर्दिष्ट करना चाहिए। –

उत्तर

8

मुझे लगता है कि आपके प्रोग्राम का पुराना उदाहरण अभी भी चल रहा है। विंडोज उन फ़ाइलों को बदलने की अनुमति नहीं देता है जो वर्तमान में "उपयोग में हैं" और आपका लिंकर चल रहे एक के शीर्ष पर नया .exe नहीं लिख सकता है। अपने कार्यक्रम को रोकने/मारने का प्रयास करें।

+1

यह अभी भी कार्य को मारने के बाद एक ही त्रुटि संदेश देता है। क्या कोड के साथ संभवतः कुछ गलत है? –

+0

बिल्कुल, मेरे पीसी को पुनरारंभ करने से समस्या हल हो गई (मैन्युअल रूप से मार नहीं सका क्योंकि मुझे टास्क मैनेजर में चल रहे प्रोग्राम नहीं मिल सका) –

-3

यह हो सकता है कि आपने अभी कहा मुख्य {.... मैं int मुख्य {जब मैं अपना मुख्य प्रारंभ करता हूं) का उपयोग करता हूं।

+2

नहीं। 'int' को सी में माना जाता है जब कोई रिटर्न प्रकार निर्दिष्ट नहीं होता है। – ApproachingDarknessFish

-2

यह उत्तर सी ++ डेवलपर्स के लिए लिखा गया है, क्योंकि मैं इस तरह की समस्या से प्रेतवाधित था।

main() 
{ 

} 

की

इसके बजाय उन्हें टाइप करें

int main() 
{ 

} 

तो मुख्य कार्य निष्पादित किया जा सकता: यहाँ समाधान है।

वैसे, यदि आप एक सी संकलन/कोई मुख्य कार्य निष्पादित करने के लिए के साथ सी ++ स्रोत फ़ाइल, वहाँ निश्चित रूप से एक बग संदेश कह रही हो जाएगा:

"[Error] Id returned 1 exist status"

लेकिन कभी कभी हम सिर्फ जरूरत नहीं है फ़ाइल में मुख्य फ़ंक्शन, ऐसे मामले में, बस बग संदेश को अनदेखा करें।

-3

ऐसा लगता है जैसे कि यह आता है जब यू चलाने वाले अपने कार्यक्रम का एक पिछले संकलित संस्करण है

+1

यही मौजूदा (4 वर्ष पुराना) स्वीकृत उत्तर कहता है। आपका जवाब कुछ भी नहीं जोड़ता है। – melpomene

-2

मेरे समाधान है कि फ़ाइल खोलते हैं, कि आप सफलतापूर्वक चला सकते हैं एक और पीसी पर जो आप कर एक और फ़ाइल खोलने का प्रयास करने के लिए है और इसे चलाएं, उस प्रतिलिपि के बाद फ़ाइल करें और एक नई फाइल बनाएं। इसे चलाने की कोशिश करो।

0

मुझे यकीन है कि के लिए यकीन है, कि इस वजह से आप के लिए प्रयास करने से पहले कार्यक्रम के चल उदाहरण बंद नहीं किया यह फिर से संकलन।

आम तौर पर, ld.exe 1 लौटाता है जब यह आवश्यक फ़ाइलों तक नहीं पहुंच सकता है। यह आमतौर पर शामिल

  • वस्तु फ़ाइल नहीं मिली जुड़े होने की (या Access denied)
  • लिखने के लिए निष्पादन योग्य खोला नहीं जा सकता से जोड़ने के लिए एक या अधिक प्रतीकों नहीं ढूंढा जा सकता है (या ई)

कार्यक्रम पूरी तरह से ठीक दिखता है, इसलिए दूसरा बिंदु हिट नहीं होना चाहिए। सामान्य मामलों में, ऑब्जेक्ट फ़ाइल को खोलने में विफल होने के लिए ld के लिए असंभव है (जब तक कि आपके पास कोई दोषपूर्ण ड्राइव और गंदी फाइल सिस्टम न हो), तो पहला बिंदु लगभग असंभव भी है।

अब हम तीसरे बिंदु पर पहुंचते हैं।ध्यान दें कि Windows उपयोग में होने पर फ़ाइल को फ़ाइल की अनुमति नहीं देता है, इसलिए आपके प्रोग्राम का चलाना उदाहरण ld.exe को नए लिंक किए गए प्रोग्राम को लिखने से रोकता है।

तो अगली बार संकलन से पहले चल रहे प्रोग्राम बंद करना सुनिश्चित करें।

0

आप अपने प्रोग्राम को संकलित कर सकते हैं जबकि एक और प्रोग्राम पृष्ठभूमि में चल रहा है। सबसे पहले, देखें कि कोई अन्य प्रोग्राम चल रहा है या नहीं। इसे बंद करें और फिर ro संकलन करने का प्रयास करें।

+0

कृपया अपना उत्तर संपादित करें और कुछ और जानकारी प्रदान करें। आपका उत्तर किसी उत्तर के बजाय टिप्पणी की तरह दिखता है। – Siraj

0

का उपयोग कोड :: ब्लॉक, मैं ऐसा करके इस त्रुटि को हल कर लिया है:

कार्यक्षेत्र गुण>> लक्ष्य का निर्माण लक्ष्य फ़ाइलों

और हर परियोजना फ़ाइल की जांच का निर्माण।

संबंधित मुद्दे