أختي نوران :::
هذا برنامجك بعد التعديل :::
كود:
#include<iostream>
using namespace std;
int searching (char a[],int size,char key)
{
for ( int i=0;i<size;i++)
{
if (a[i]== key)
return i;
}
return -1;
}
int searching (double a[],int size,double key)
{
for ( int i=0;i<size;i++)
{
if (a[i]== key)
return i;
}
return -1;
}
int searching (int a[],int size,int key)
{
for ( int i=0;i<size;i++)
{
if (a[i]== key)
return i;
}
return -1;
}
void main()
{
int x[]={1,2,3,7,8};
double y[]={1.3,1.9,1.5,7.6,4.1,1.7};
char z[]={'z','e','r','i','k','o','l'};
cout<<searching(z,7,'h')<<endl;
cout<<searching(y,6,1.3)<<endl;
cout<<searching(x,5,'o')<<endl;
}
والمشكلة كانت أنك إستخدمتي التيمبليت ...
ومن خصائص التمبليت أنه يأخذ النوع مرة واحدة فقط ..
أي أنه إذا أخذ أول مرة إنتجر ( عدد صحيح ) يحافض على النوع
طيلة تنفيذ البرنامج .... وفي مثالنا هذا البرنامج إستخدم ثلاث
أنواع وهي الإنتجر والدبل والكاراكتر ...
والحل كان أننا قمنا بكتابة أوفر لود للدالة ..
أي أننا عرفناها ثلاث مرات بحسب الأنواع التي عندنا
حيث أنه إذا كان النوع المطلوب إنتجر يتجه مباشرة للدالة التي تدعم الإنتجر
وإذا كان دبل يتجه نحو الدبل وهكذا ....
أرجوا أن أكون قد وفقت أختي لحل سؤالك بالشكل المطلوب ....
ولك أجمل تحياتي مني على أسلوب طرح المساعدة ... وبشكل صحيح ..