• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

amin_m

الاعضاء المجتهدين
  • عدد المشاركات

    327
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

5 عادي

عن amin_m

  • الرتبة
    عضو فعال

طرق الإتصال

  • ICQ 0

معلومات الملف الشخصي

  • الجنس ذكر
  • الدولة : مصر
  1. السلام عليكم تفضل أخى #include<iostream.h> #include <cstdlib> void main() { system(" attrib +h C:\\a.txt"); }
  2. السلام عليكم #include<iostream.h> int fact(int n) { if(n==1 || n==0) return 1; else return n*fact(n-1); } void main() { cout<<fact(5)<<endl; cout<<fact(4)<<endl; }
  3. السلام عليكم يوجد فى هذا الرابط كود يمكن يساعدك http://vinodcse.word...gorithm-in-c-2/ الكود كان يوجد به بعض الأخطاء وهذا تصحيح له #include<iostream.h> class dijkstra { private: int graph[15][15]; int set[15],predecessor[15],mark[15],pathestimate[15]; int source; int num_of_vertices; public: int minimum(); void read(); void initialize(); void printpath(int); void algorithm(); void output(); }; void dijkstra::read() { cout<<"enter the number of vertices\n"; cin>>num_of_vertices; while(num_of_vertices<=0) { cout<<"\nthis is meaningless,enter the number carefully\n"; cin>>num_of_vertices; } cout<<"enter the adjacent matrix:\n"; for(int i=1;i<=num_of_vertices;i++) { cout<<"\nenter the weights for the row\n"<<i; for(int j=1;j<=num_of_vertices;j++) { cin>>graph[i][j]; while(graph[i][j]<0) { cout<<"\nu should enter the positive valued weights only\nenter the value again\n"; cin>>graph[i][j]; } } } cout<<"\nenter the source vertex\n"; cin>>source; } void dijkstra::initialize() { for(int i=1;i<=num_of_vertices;i++) { mark[i]=0; pathestimate[i]=999; predecessor[i]=0; } } void dijkstra::algorithm() { initialize(); int count=0; int i; int u; while(count<num_of_vertices) { u=minimum(); set[++count]=u; mark[u]=1; for(i=1;i<=num_of_vertices;i++) { if(graph[u][i]>0) { if(mark[i]!=1) { if(pathestimate[i]>pathestimate[u]+graph[u][i]) { pathestimate[i]=pathestimate[u]+graph[u][i]; predecessor[i]=u; } } } } } } void dijkstra::printpath(int i) { cout<<endl; if(i==source) { cout<<source; } else if(predecessor[i]==0) cout<<"no path from "<<source<<" to "<<i; else { printpath(predecessor[i]); cout<<".."<<i; } } void dijkstra::output() { for(int i=1;i<=num_of_vertices;i++) { printpath(i); if(pathestimate[i]!=999) cout<<"->("<<pathestimate[i]<<")\n"; } cout<<endl; } int dijkstra::minimum() { int min=999; int i,t; for(i=1;i<=num_of_vertices;i++) { if(mark[i]!=1) { if(min>=pathestimate[i]) { min=pathestimate[i]; t=i; } } } return t; } void main() { dijkstra s; s.read(); s.algorithm(); s.output(); }
  4. السلام عليكم هناك فقط تصحيح للمسميات القاسم المشترك الأكبر gcd المضاعف المشترك الأصغر lcm وهذا البرنامج يأتى بهم لعددين عن طريق الدوال #include <iostream> using namespace std; int GCD(int x,int y) { if(y==0) return x; else return GCD(y,x%y); } int LCM(int x,int y) { return x*y/GCD(x,y); } int main() { cout<<GCD(4,18)<<endl; cout<<LCM(4,18)<<endl; return 0; }
  5. حل آخر #include <stdio.h> #include <conio.h> int fullnessQuotient(int n) { int count=0; int temp; if(n<0) return -1; for (int base=2;base<=9;base++) { temp=n; while(temp>0) { if(temp%base==0) {count++;break;} temp=temp/base; } } return 8-count; } int main() { int num; printf("Enter the number : "); scanf("%d",&num); printf(" the fullnessQuotient of %d is %d\n",num,fullnessQuotient(num)); getch(); return 0; } سلام
  6. السلام عليكم أنت تحتاج الى عداد للأيام شوف المثال التالى #include <iostream.h> #include <time.h> int main () { time_t t; int start=0; int period=200; time(&t); double daysCounter=t/(24*60*60)-14472; cout<<"Elapsed time : "<<start+daysCounter<<" days \n"; cout<<" remained time : "<<period-daysCounter<<" days \n"; return 0; } الكود السابق يعتبر أن البدايه من اليوم ولو قمت بتشغيله بعد 3 ايام سيضيف 3 الى الأيام المنقضيه ويطرحها من الأيام الباقيه أهم شىء هو حساب الرقم 14472 يمكن حسابه من خلال السطر الأتى cout<<t/(24*60*60)<<endl; أدخله فى الكود وشغل البرنامج سيظهر لك رقم فى أول سطر أدخل الرقم الذى يظهر لك بدلا من 14472 لأن هذا الرقم يتغير كل 24 ساعه تحياتى
  7. السلام عليكم إيجاد القاسم المشترك الأعظم gcd بإستخدام Euclid's algorithm بإستخدام داله عوديه recursion موجوده فى هذا الكود #include <iostream.h> int GCD2(int a,int b) { if(b==0) return a; else return GCD2(b,a%b); } int main () { cout<<GCD2(12,15)<<endl; return 0; } سلام
  8. أهلا أخى فهد واضح أن الكلام الذى قلته مسموح فقط فى الفيجوال سى 6 قد جربتها على vc++6 واشتغلت وغير مقبوله مع الكمبيلرات التى ذكرتها فعلا أخى تعطى أخطاء اذا استخدمنا المكتبه fstream.h فقط شكرا أخى على التنبيه
  9. السلام عليكم لى إضافه بسيطه فى هذا الموضوع اذا استخدمنا الهيدر fstream.h فلا نحتاج فعلا للمكتبه iostream.h لأن الكلاس ifstream يرث الكلاس istream و الكلاس ofstream يرث ostream وأخيرا الكلاس fstream نفسه يرث الكلاس iostream ومن هنا يمكن استخدام كائنات cin و cout من المكتبه fstream.h دون المكتبه iostream.h أما لو استخدمنا المكتبه fstream فقط بدون .h فهنا سنحتاج الى مجال الأسماء std ولن يتم تضمين std بدون iostream أى يجب إضافة المكتبه iostream مع الجمله using namespace std; سلام
  10. اريد فكره

    السلام عليكم g مع كائنات القراءه , p مع كائنات الكتابه وهذا تصحيح الكود #include <iostream> #include <fstream> #include <conio.h> using namespace std; void main () { ofstream f; f.open("s.txt"); f<<"my name is mooooon"<<endl; f.close(); ifstream openfile; openfile.open("s.txt"); char ch; while(!openfile.eof()) { openfile.get(ch); cout<<ch; } cout<<endl; openfile.close(); ifstream open("s.txt"); int size; open.seekg(0,ios::end); size=open.tellg(); for (int i=0;i<size;i++) { open.seekg(size-i-1); open.get(ch); cout<<ch; } getch(); } سلام
  11. اريد فكره

    السلام عليكم فكره أخرى #include <iostream> #include <fstream> #include <conio.h> using namespace std; void main () { ifstream fin("a.txt"); int size; fin.seekg(0,ios::end); size=fin.tellg(); char ch; for (int i=0;i<size;i++) { fin.seekg(size-i-1); fin.get(ch); cout<<ch; } getch(); } سلام
  12. السلام عليكــم ورحمـة الله وبركاتــه ،، آخر التعديلات على برنامجى البدائى :lol: Merger & Splitter = MeSp mesp.rar
  13. االعفو أختى رغد ,,, من بعض ما عندكم جزاكى الله خيرا :)
  14. Mohd.A العفو أخى ولكن أى مكتبه تقصد ؟ tracy : بالنسبه للداله swap وتعريفها فى السؤال , اذا أردنا فقط كتابة القيم مرتبه ترتيبا تنازليا دون التغير في قيمهم الأصليه فالحل هو طريقتك أى التمرير بالقيمه , أما لو أردنا ان نغير قيمهم الأصليه بحيث أن يأخذ الأول القيمه الأكبر والثانى القيمه الأصغر فيجب التمرير بالريفرنس وعموما تعودنا أن كلمة swap تعنى تبديل القيم بين متغيرين !!!! --------------------------------------------------------- بالنسبه لعد مرات استدعاء داله فخذى المثال الآتى لو فرضنا أن لدينا طابور من الأشخاص ونريد عد هذا الطابور بدون أن يخرج أحد منه للعد ماذا نحتاج ؟؟؟ نحتاج لشخص خارج الطابور للعد أى نريد متغير جلوبال تكون قيمته صفر فى البدايه وفى كل مرة استدعاء للداله تقوم تلك الداله بزيادة قيمة هذا المتغير بمقدار واحد وطريقه أخرى أننا نعلن عن متغير استاتيك داخل الداله وتكون قيمته تساوى صفر وتقوم الداله بزيادته واحد فى كل مره استدعاء ثم نعرض قيمة هذا المتغير والسؤال لماذا لا يصلح متغير عادى داخل الداله لعد مرات الإستدعاء ؟؟ لأن فى كل مرة استدعاء ينشأ المتغير من جديد ويفقد قيمته السابقه شوفى المثال ::: #include <iostream> #include <conio.h> using namespace std; void func() { int count=0; count++; cout<<"I have been called "<<count<<" times\n"; } void main () { func(); func(); func(); func(); getch(); } ويكون الناتج بهذا الشكل I have been called 1 times I have been called 1 times I have been called 1 times I have been called 1 times لاحظى أن الرقم 1 لم يتغير لأن المتغير count فى كل مره استدعاء ينشأ من جديد ؟ هل توصلتى لحل سؤالك :) سلام
  15. لا يا أخى ليس اوتوماتيك لأنه متغير global وهو لا ينطبق عليه الجمله التاليه وقصدى أن اى متغير يعلن عنه داخل بلوك أو مدى يكون أوتوماتيك اذا لم يذكر غير ذلك وشكرا على التنبيه أخى محمد :)