C++

هي سيارة مطورة من سيارات السباق "سي" مع الكثير من الاضافات و المواصفات. لن تتعطل الا كل 250ميل و لكن عندما تتعطل لا > يعرف احد علة العطل.

وصف واقعي جدًا , الامس كنت اتدرب على linear search algorithm , كل شيء تمام لكن ظهر لي warning دمر حياتي و انا احاول ان اعرف سببه ...

من أين تدرس الخوارزميات؟

ما نوع الخطأ ؟ قد استطيع مساعدتك

من أين تدرس الخوارزميات؟

كنت ادرسها من موقع tutorialpoints , حاليًا اُجرب مصدر اخر على اليوتيوب .

ما نوع الخطأ ؟ قد استطيع مساعدتك

warning: control reaches end of non-void function [-Wreturn-type

سورس كود :

using namespace std;

bool search_in(int arr[],int si_ze,int searched_item)

{

for(int x=0;x<si_ze;x++)
{
    if(arr[x]==searched_item)
    {

        return true;

    }

    else

    {

        return false;

    }

}

}

int main()

{

int marks[5]={1,2,3,4,5};

int input;

cout <<"Enter a number to search in array => ";

cin >>input;

if(search_in(marks,5,input))

{

    cout <<"found"<<"\n";

}

else

{

    cout <<"not found"<<"\n";

}

}

و شكرًا لك .

https://stackoverflow.com/questions/22742581/warning-control-reaches-end-of-non-void-function-wreturn-type#22742601

المشكلة اني بالفعل لقد وضعت return statement لكني لا ادري لماذا لا يعتبرها موجودة ...

جربت نفس الكود المكتوب هنا مع إضافة return 0; في نهاية ال main وعمل بدون مشاكل لدي فإن لم تكن المشكلة في return فلا أعرف أين هي

صديقي لديك خطأ، جرب مثلا البحث عن 5 ، سترى not found :)

هذا تصحيح الكود:

#include <iostream>
using namespace std;

bool search_in(int arr[],int si_ze,int searched_item)

{

for(int x=0;x<si_ze;x++)
{
    if(arr[x]==searched_item)
    {

        return true;
        break;

    }

}

return false;

}

int main()

{

int marks[5]={1,2,3,4,5};

int input;

cout <<"Enter a number to search in array => ";

cin >>input;

if(search_in(marks,5,input))

{

    cout <<"found"<<"\n";

}

else

{

    cout <<"not found"<<"\n";

}

}

في الحقيقة قد يعمل الكود حتى بإزالة سطر الـbreak.


برمجة

المواضيع والنقاشات المتعلقة بالبرمجة بشكل عام او لغات البرمجة التي لايوجد لها مجتمعات فرعية.

17.1 ألف متابع