توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : پروژه هاي آماده دانشجويي
moji5
10th March 2010, 07:23 PM
ین برنامه با ماوس کار میکنه و همان چهار عمل اصلی را با محدودیت پنج رقم و بدون اعشار انجام میدهد.
برنامه فقط تا پنج رفم را دریافت میکند و رقم بعدی از عملگر “=” حساب میکند.همچنین اعداد مثبت و منفی را هم در محاسبات درنظر میگیرد.برای وارد کردن عدد منفی باید بنویسی -۸= یا -۸*… .
آبجی
14th April 2010, 01:03 AM
یکی از مسائل جالب تکنیک backtracking یا بازگشت به عقب همین مسئله ی n وزیر است.
بررسی یک تکنیک طراحی الگوریتم - روش بازگشت به عقب
قبل از شروع یک توضیح کوتاهی بر روی تکنیک بازگشت به عقب می دهیم :
در این روش ، در هر زمان که متوجه شدیم مسیر انتخاب شده به جواب نمیرسد، یک مرحله به عقب برگشته و مسیر دیگری را دنبال می کنیم.
مسائلی که با روش عقب گرد حل می شوند اغلب مسائل تصمیم گیری هستند و باید توجه کنید که این روش فقط با کاهش حالت ها ، زمان اجرا را کاهش می دهد و مرتبه ی زمانی را تغییر نمی دهد
این روش از اصول درخت ها و به ویژه پیمایش preorder استفاده می کند.
برای مثال در کتاب طراحی الگوریتم انتشارت پوران پژوهش مثالی برای درک این مورد زده است.
"فرض کنید یک قفل رمزی دیجیتالی دارید و رمز قفل یک عدد n بیتی است.تعدا حالت های امتحان 2 به توان n خواهد بود، در حالی که قفل با یک حالت باز می شود.
اگر n=3 باشد باید 8 حالت را بررسی کنیم اما اگر بدانیم که رمز شامل رو رقم 11 هست تعدا حالت های بررسی کمتر می شود.
درخت فضای حالت state tree برای این کار است "
دقت کنید در این درخت وقتی به یک گره می رسیم بررسی می کند که آیا این گره امید بخش هست یا نه؟
اگر بود چک می کند که آیا جواب در این گره هست ؟ اگر بود آن را چاپ می کند و اگر نبود همین عمل را به صورت بازگشتی با child های آن گره انجام می دهد.
اگر یک گره امید بخش نبود، خود به خود عقب گرد کرده و کار با فرزند دیگر پدر آن گره ادامه می دهد.
شکل 1 این را نشان می دهد.
نتیجه : الگوریتم عقبگرد همانند جست و جوی عمقی است، با این تفاوت که فرزندان یک گره فقط هنگامی ملاقات می شوند که گره امید بخش باشدو در آن گره حلی وجود نداشته باشد.
یک برنامه ی سطح بالا برای این روش به صورت زیر است :
reject(P,c): return true only if the partial candidate c is not worth completing.
accept(P,c): return true if c is a solution of P, and false otherwise.
first(P,c): generate the first extension of candidate c.
next(P,s): generate the next alternative extension of a candidate, after the extension s.
output(P,c): use the solution c of P, as appropriate to the application.
کد:
procedure bt(c)
if reject(P,c) then return
if accept(P,c) then output(P,c)
s ← first(P,c)
while s ≠ Λ do
bt(s)
s ← next(P,s)
http://flashkar.net/proje/images/stories/8queen_delphi.png
توضیحات مسئله ی n وزیر :
صورت مسئله : هشت وزير را در هشت خانه شطرنج (8*8) طوري قرار دهيد كه هيچكدام يكديگر را تهديد نكنند. وزير در خانه هاي شطرنج به صورت عرضي،طولي و قطري مي تواند حركت كند. اين مسئله قابل تعميم به مسئله N وزير در يك شطرنج N*N است.
سایت برنامه نویس در مورد تاریخچه ی این الگوریتم می نویسد :
"تاريخچه: اين مسئله در سالي 1848 توسط شطرنج بازي به نام Max Bezzel عنوان شد و رياضي دانان بسياري ازجمله Gauss و Georg Cantor بر روي اين مسئله كار كرده و در نهايت آنرا به N وزير تعميم دادند. اولين راه حل توسط Franz Nauck در سال 1850 ارائه شد كه به همان مسئله N وزير تعميم داده شد. پس از آن Gunther راه حلي با استفاده از دترمينان ارائه داد كه J.W.L. Glaisher آنرا كامل نمود.
در سال 1979 ، Edsger Dijkstra با استفاده از الگوريتم عقب گرد اول عمق اين مسئله را حل كرد."
با توجه به اینکه هیچ 2 وزیری نباید همدیگر را گارد کنند و در یک سطر نمی توانند باشند، تعداد کل حالت ها برای n=4 برابر 4*4*4*4=256 است.
یک راه حل برای این مسئله :
"میدانیم که در شطرنج یک وزیر میتواند به مهرههایی که در خانههای عمود یا مورب به وی قرار دارند حمله کند. یا به عبارت ریاضی، اگر ردیفها و ستونهای شطرنج را از یک تا هشت شماره گذاری کنیم و وزیر در خانه (i, j) قرار داشته باشد، مهرههایی که در خانههای (i, m) یا (m, j) یا (i ± m, j ± m) قرار دارند توسط وزیر تهدید میشوند.
برای سادگی تشریح این مسئله با استفاده از روش بازگشت به عقب، فرض میکنیم که خانههای شطرنج 4x4 و تعداد وزیرها نیز 4 باشد. سپس بعد از یافتن راه حل برای این مسئله ساده شده، اقدام به نوشتن الگوریتم برای مسئله اصلی میکنیم.
خوب، مراحل جستجو برای یافتن جواب را به این صورت دنبال می کنیم که:
وزیر اول را در ردیف اول و ستون اول قرار میدهیم.
در ردیف دوم از اولین ستون به جلو رفته و به دنبال خانهای میگردیم که مورد تهدید وزیر اول نباشد و وزیر دوم را در این خانه قرار میدهیم.
همانند قبل، در ردیف سوم از اولین ستون به جلو رفته و به دنبال خانهای میگردیم که مورد تهدید وزیران اول و دوم نباشد. میبینیم که چنین خانهای موجود نیست.
پس به عقب یعنی ردیف دوم برگشته و وزیر دوم را به خانهای دیگر از ردیف دوم منتقل میکنیم که مورد تهدید وزیر اول نباشد.
دوباره در ردیف سوم اولین خانهای را میابیم که مورد تهدید دو وزیر قبلی نباشد. این بار خانه را مییابیم و وزیر سوم را در آن قرار میدهیم.
همانند قبل، در ردیف چهارم به دنبال اولین خانهای میگردیم که مورد تهدید وزیران پیشین نباشد. چنین خانهای موجود نیست.
به ردیف قبل یعنی ردیف سوم باز میگردیم تا خانهای دیگر برای وزیر سوم بیابیم. خانه دیگری وجود ندارد.
به ردیف قبل یعنی ردیف دوم بر میگردیم تا خانه دیگری برای وزیر دوم پیدا کنیم. به آخرین ستون رسیدهایم و خانه دیگری نیست.
به ردیف قبل یعنی ردیف اول بر میگردیم و وزیر اول را یک ستون به جلو میبریم.
در ردیف دوم اولین خانهای را میابیم که مورد تهدید وزیر اول نباشد و وزیر دوم را در آن خانه قرار میدهیم.
در ردیف سوم اولین خانهای را میابیم که مورد تهدید وزیران اول و دوم نباشد و وزیر سوم را در آن خانه میگذاریم.
در ردیف چهارم اولین خانهای را میابیم که مورد تهدید وزیران پیشین نباشد. این بار خانه را مییابیم و وزیر چهارم را در آن خانه قرار می دهیم.
خوب به یک جواب رسیدیم. حال اگر فرض کنیم که این خانه جواب نیست و به مسیر خود ادامه دهیم، احتمالا" میتوانیم جوابهای دیگری نیز بیابیم."
پیاده سازی الگوریتم عقبگرد برای مسئله n وزیر :
یک شبه کد برای این الگوریت که در کتاب نپولیتان هم نوشته شده است به صورت زیر است :
کد:
void queens ( index i)
{
index j;
if ( promising(i))
if ( i == n)
cout << col [1] through col [n];
else
for ( j = 1 ; j ≤ n ; j++ ) {
col [ i +1 ] = j;
queens ( i + 1);
}
}
bool promising ( index i )
{
index k ;
bool switch;
k = 1;
switch = true ;
while ( k < i && switch ) {
if (col [i] == col[k] || abs(col[i] – col[k] == i-k)
switch = false;
k++;
}
return switch;
}
آبجی
14th April 2010, 01:04 AM
برای اینکه با این مسئله خوب آشنا بشید و به صورت ویژوال کار آن را ببینید به لینک زیر بروید :
این لینک کد زیر را به صورت انیمیشن به شما نشان داده است :
کد:
/** Recursive 8 Queens Solution.
* @author John McHugh
*/
private void expand (BitSet RowsToBeFilled, BitSet ColsToBeFilled,
BitSet LeftDiag, BitSet RightDiag)
{
int r, c ;
BitSet CopyOfColsToBeFilled = (BitSet) ColsToBeFilled.clone () ;
BitSet CopyOfRowsToBeFilled = (BitSet) RowsToBeFilled.clone () ;
if (empty (RowsToBeFilled))
{
store (Solution) ;
found++;
}
else
{
r = AnyFrom (CopyOfRowsToBeFilled) ;
CopyOfRowsToBeFilled.clear (r) ;
while (! empty (CopyOfColsToBeFilled))
{
c = AnyFrom (CopyOfColsToBeFilled) ;
CopyOfColsToBeFilled.clear (c) ;
if (LeftDiag.get (r + c - 1) & RightDiag.get (r - c + 8))
{
Solution [r] = c ;
ColsToBeFilled.clear (c) ;
LeftDiag.clear (r + c - 1) ;
RightDiag.clear (r - c + 8) ;
expand (CopyOfRowsToBeFilled, ColsToBeFilled,
LeftDiag, RightDiag) ;
ColsToBeFilled.set (c) ;
Solution [r] = 0 ;
LeftDiag.set (r + c - 1) ;
RightDiag.set (r - c + 8) ;
}
}
}
ورود به این سایت :
http://www.animatedrecursion.com/advance...oblem.html (http://www.animatedrecursion.com/advanced/the_eight_queens_problem.html)
همچنین یک Depth First Algorithm برای n وزیر به صورت زیر می تواند باشد :
http://img134.imageshack.us/img134/4245/nqueensflowchartaa6.jpg (http://img134.imageshack.us/img134/8247/nqueensflowchartyc6.jpg)
Download source files - 3 Kb (http://www.codeproject.com/KB/java/EightQueen/EightQueen_Source.zip)
Download demo project - 5 Kb (http://www.codeproject.com/KB/java/EightQueen/EightQueen_Demo.zip)
http://www.codeproject.com/KB/java/EightQueen/EightQueen.jpg
آبجی
14th April 2010, 01:06 AM
همچنین این برنامه به زبان c# نیز نوشته شده است که 1نمونه ی آن را برای شما می آورم :
Contents: Executable (Windows), Source Code (C#)
http://www.djstein.com/Projects/Screenshots/nQueenProblemviaHopfieldTankNeuralNetwork.jpg
همچنین سورس کد در c++ به صورت زیر است :
کد:
using System;
namespace EightQueen
{
public enum SIZE
{
size = 8
}
public class EightQueen
{
public static int count = 0;
public static bool isValidMove(int[,] boardArr, int row, int col)
{
for (int i = 0; i < SIZE.size.GetHashCode(); i++)
if (boardArr[row,i] == 1)
return false;
for (int i = 0; i < SIZE.size.GetHashCode(); i++)
if (boardArr[i,col] == 1)
return false;
int tempCol = col + 1, tempRow = row ;
for (int i = row + 1; i < SIZE.size.GetHashCode(); i++)
{
if (tempCol < SIZE.size.GetHashCode())
{
if (boardArr[i,tempCol] == 1)
return false;
else
tempCol++;
}
else
break;
}
tempCol = col - 1;
for (int i = row - 1; i >= 0; i--)
{
if (tempCol >= 0)
{
if (boardArr[i,tempCol] == 1)
return false;
else
tempCol --;
}
else
break;
}
tempCol = col - 1;
for (int i = row + 1; i < SIZE.size.GetHashCode(); i++)
{
if (tempCol >= 0)
{
if (boardArr[i, tempCol] == 1)
return false;
else
tempCol--;
}
else
break;
}
tempCol = col + 1;
for (int i = row - 1; i >= 0; i--)
{
if (tempCol < SIZE.size.GetHashCode())
{
if (boardArr[i, tempCol] == 1)
return false;
else
tempCol++;
}
else
break;
}
return true;
}
public static void ShouldPrintBoard(int[,] boardArr)
{
int count = 0;
for (int i = 0; i < SIZE.size.GetHashCode(); i++)
for(int j = 0; j < SIZE.size.GetHashCode() ;j++)
if (boardArr[i,j] == 1)
count++;
if (count >= 8)
PrintBoard(boardArr);
}
public static void PrintBoard(int[,] boardArray)
{
for (int i = 0; i < SIZE.size.GetHashCode(); i++)
{
for (int j = 0; j < SIZE.size.GetHashCode(); j++)
Console.Write("{0} ", boardArray[i, j]);
Console.WriteLine();
}
count++;
Console.WriteLine();
//Console.ReadKey();
}
public static void PermuteBoard(int[,] boardArr, int row, int col)
{
for (int i = row; i < SIZE.size.GetHashCode(); i++)
{
for (int j = 0; j < SIZE.size.GetHashCode(); j++)
{
if (isValidMove(boardArr, i, j))
{
boardArr[i, j] = 1;
ShouldPrintBoard(boardArr);
PermuteBoard(boardArr, i + 1, j + 1);
boardArr[i, j] = 0;
}
}
}
}
static void Main(string[] args)
{
int [,]boardArr = new int[SIZE.size.GetHashCode(),SIZE.size.GetHashCode()];
for(int i = 0 ; i < SIZE.size.GetHashCode() ; i++)
for(int j = 0 ; j < SIZE.size.GetHashCode() ; j++)
boardArr[i,j] = 0;
PermuteBoard(boardArr, 0, 0);
Console.WriteLine("Total Solutions {0}", count);
Console.ReadKey();
}
آبجی
11th June 2010, 12:02 AM
- الگوریتم پرایم همراه با سورس کامل برنامه
- الگوريتم استراسن با حل و سورس کامل برنامه
- الگوریتم کراسکال با سورس کامل برنامه
آبجی
11th June 2010, 12:03 AM
- ماشين حساب مهندسي همراه با سورس کامل برنامه 1
لینک دانلود فایل اجرایی EXE برنامه
DOWNLOAD (http://www.best-projects.org/cplus/cpluscalcpro.zip)
- ماشين حساب مهندسي همراه با سورس کامل برنامه 2
لینک دانلود فایل اجرایی EXE برنامه
DOWNLOAD (http://www.best-projects.org/cplus/cppcalcpro2.zip)
پیاده سازی درخت جستجوی دو دویی Binary Search Tree
لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/cplusbst.zip)
کلیه عملیات ماتريس ها (ضرب ، جمع ، تفريق ، تقسيم ماتريس
مغلوب و ترانهاده و ...)
لینک دانلود فایل اجرایی EXE برنامه
DOWNLOAD (http://www.best-projects.org/cplus/cplusallmatrix.zip)
- برنامه دفترچه تلفن (با امکانات حذف - اضافه - جستجو - گزارش
گیری و نمایش )
لینک دانلود فایل اجرایی EXE برنامه
DOWNLOAD (http://www.best-projects.org/cplus/cppphonebook.zip)
آبجی
11th June 2010, 12:03 AM
- پروژه هشت وزير شطرنج در 92 حالت مختلف
لینک دانلود فایل اجرایی EXE برنامه
DOWNLOAD (http://www.best-projects.org/cplus/cpp8vazir.zip)
پروژه N وزیر شطرنج (هوش مصنوعی) - الگوریتم ژنتیک
لینک دانلود فایل اجرایی EXE برنامه
DOWNLOAD (http://www.best-projects.org/cplus/cppnvazir.zip)
- بازی پازل اعداد PUZZLE به زبان سی پلاس C++
لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/cpppuzle.zip)
- بازی پازل اعداد PUZZLE به زبان سی C
لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/cpuzzele.zip)
-پياده سازي كليه روشهاي مرتب سازي
لینک دانلود فایل اجرایی EXE برنامه
DOWNLOAD (http://www.best-projects.org/cplus/allsort.zip)
آبجی
11th June 2010, 12:03 AM
- مثلث خيام پاسكال
لینک دانلود فایل اجرایی EXE برنامه
DOWNLOAD (http://www.best-projects.org/cplus/khayam-PASCAL.zip)
- برنامه دانش آموزان : گرفتن اطلاعات و ذخيره - حذف - اضافه گزارش گيري - جستجو - و ...
لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/cppstudents.zip)
- لينك ليست
- بازي مار پله
لینک دانلود نمونه پروژه DOWNLOAD (http://www.best-projects.org/cplus/cplusmar.zip)
- برنامه فاكتوريل
- حركت اسب شطرنج
لینک دانلود نمونه پروژه DOWNLOAD (http://www.best-projects.org/cplus/asb.zip)
- بازي پارانوئيد - پارانوييد Paranoid
لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/cplusparanoid.zip)
- يك ماشين حساب خطي با در نظر گرفتن پرانتزها
و تقدم عملگرها
- لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/cpluscalcfine.zip)
آبجی
11th June 2010, 12:04 AM
- بازي حافظه - در يك پازل بعد از پيدا كردن خانه هايي كه 2 عدد شبيه هم هستند را حذف مي كند
لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/cplusmemgame.zip)
- حل مسئله رياضي سري تيلور
لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/cplustaylor.zip)
- شبيه سازي بازي تانك
لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/cplustank.zip)
- بازي دوز
dooz لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/dooz.zip)
- يك برنامه
ويرايشگر متن اديتور Text Editor مانند اديتور سيستم ويندوز - لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/cpluseditor.zip)
- برنامه ي معكوس نمودن عدد ورودي : 124 421
لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/cplusrevnem.zip)
- برنامه مربع جادويي
- ماتريسي كه جمع سطر و ستونهاي آن و همچنين جمع قطرهاي آن از همه طرف برابر است . لینک دانلود فایل اجرایی EXE برنامه DOWNLOAD (http://www.best-projects.org/cplus/cplusmorabaa.zip)
آبجی
11th June 2010, 12:05 AM
مقسوم علیه ها
این برنامه برای محاسبه مقسوم علیه هاست که می تونید از اینجا (http://www.4shared.com/file/12007120/a4eca3ce/Maghsoom_aleih.html) بیگیرید
طرز کار برنامه بدین صورت است که شما یک عدد طبیعی را وارد می کنید و برنامه مقسوم علیه های آن را بر می گرداند
تبدیل دما
این برنامه که این دفعه می ذارم ، برنامه تبدیل واحدهاست.البته تا الان فقط مخصوص دما رو آماده کردم که می تونید از اینجا (http://www.4shared.com/file/12007403/918521d/temperature.html) دانلود کنید و لذت ببرید.
این برنامه امکان تبدیل واحدهای سانتیگراد ، فارنهایت و کلوین به یکدیگر را دارد.
مقلوب
این برنامه که در این قسمت (http://www.4shared.com/file/12006907/be116232/Anagram.html) برای دانلود قرار گرفته ، برای محاسبه مقلوب عدد می باشد
شما عدد خود را وارد می کنید و برنامه مقلوب آنرا بر می گرداند
تبدیل عدد به حروف
این برنامه که خودش و سورسش رو تو این قسمت می ذارم،برنامه نوشتن عدد به حروف است.
(در زبان انگلیسی) شما عدد خود را وارد می کنید، حداکثر تا میلیون و با دقت اندازه گیری یک،
و بعد برنامه آنرا بصورت حروف برمی گرداند.
در این برنامه از ساختار switch و case استفاده شده است و با اینکه تعداد خطوط زیادی را شامل می شودُ برنامه بسیار ساده ایست..
دانلود فایل zip (http://www.4shared.com/file/25662562/c6870d8/AtoH.html) حجم:۱۳۰ کیلوبایت
آبجی
11th June 2010, 12:06 AM
یه برنامه ساختن و مدیریت دیکشنری به نسبت خوب پیدا کردم که برای دانلود میذارم
Dictionary Processing (http://www.4shared.com/file/8951797/5bdf0f2/dictionary1.html)
دانلود برنامه File Editor (http://www.4shared.com/file/7207983/60517826/FileEditor.html)
دانلود برنامه MDIApp (http://www.4shared.com/file/7208153/838f4785/MDIApp.html)
در ضمن یک سایت برای دوستداران برنامه نویسی چه سی پلاس پلاس و چه زبانهای دیگه معرفی می کنم که بصورت رایگان سورس برنامه برای دانلود ارائه می دهد.
Planet Source Code(قسمت مربوط به سی پلاس پلاس) (http://www.planet-source-code.com/vb/default.asp?lngWId=3)
Planet Source Code (http://www.planet-source-code.com/)
آبجی
11th June 2010, 12:08 AM
این برنامه ، توانایی تبدیل کد مورس به متن و متن به مد مورس رو داراست. روند ساده ای رو طی می کنه و براحتی می شه ازش استفاده کرد. جدول کد مورس حروف و اعداد رو در زیر ملاحظه کنید: http://www.vidiot.com/Jericho/images/morse-tab1.jpg
البته لازم می دونم که بگم برنامه ای که من نوشتم فقط توانایی تبدیل حروف انگلیسی و اعداد رو به کد مورس یا بالعکس داره و توانایی تبدیل سایر کاراکتر ها رو نداره.
دانلود برنامه کد مورس به همراه فایل اجرایی (http://www.4shared.com/file/35832236/4d7db89f/Project-Murse.html)
آبجی
11th June 2010, 12:08 AM
اولین برنامه ، برنامه تبدیل رشته به کد binary ( مبنای ۲ ) است. در این برنامه از یک ساختار بسیار ساده و قابل فهم استفاده شده است.
دانلود سورس برنامه تبدیل رشته به کد باینری + فایل اجرایی (http://www.4shared.com/file/24951406/5ea9152f/Binary_Convert.html)
دومین برنامه ، برنامه نمایش زمان و تاریخ سیستم بصورت تکست است. این برنامه ، زمان و تاریخ جاری سیستم شما ( همان ساعت گوشه ویندوز ) را بصورت تکست نمایش می دهد.
دانلود سورس برنامه نمایش زمان و تاریخ جاری سیستم بصورت تکست + فایل اجرایی (http://www.4shared.com/file/24951415/debb75d4/textclock.html)
سومین برنامه این دفعه ، یک برنامه text editor شبیه notepad است.
دانلود سورس برنامه notepad (http://www.4shared.com/file/24951425/f5962617/Notepad.html)
نفیس
11th June 2010, 09:27 AM
سلام آبجی.ممنون بابت سورسها.ولی این لینکی که دادی واسه دانلود برنامه ها بصورت رایگان ازش سردر نمیارم.من سورس به زبان سی میخوام ظاهرا همش به زبان سی پلاسه
نفیس
11th June 2010, 09:36 AM
آبجی اینا که فقط فایل اجرایی هست.سورس نداره؟من سورس پریم و کروسکال را میخواستم اونم به زبان سی
آبجی
11th June 2010, 01:14 PM
سلام آبجی.ممنون بابت سورسها.ولی این لینکی که دادی واسه دانلود برنامه ها بصورت رایگان ازش سردر نمیارم.من سورس به زبان سی میخوام ظاهرا همش به زبان سی پلاسه
بعضی از پروژه ها به زبان c هست و بعضی به زبان ++c دوست گرامی
آبجی
11th June 2010, 01:16 PM
آبجی اینا که فقط فایل اجرایی هست.سورس نداره؟من سورس پریم و کروسکال را میخواستم اونم به زبان سی
دوست گرامی در خود تاپیک هم ذکر شده که فایل اجرایی :
پیاده سازی الگوریتم کراسکال با سورس کامل برنامه
لینک دانلود فایل اجرایی exe برنامه download (http://njavan.com/forum/redirector.php?url=http%3a%2f%2fwww.best-projects.org%2fcplus%2fcppkerascal.zip)
موفق باشید
نفیس
12th June 2010, 01:28 AM
شرمنده ولی اینم که فایل اجراییه.شما نوشتی با سورس کامل
آبجی
12th June 2010, 12:56 PM
شرمنده ولی اینم که فایل اجراییه.شما نوشتی با سورس کامل
این لینکها میتونه کمکت کنه :
الگوریتم دایکسترا (http://njavan.com/forum/showthread.php?t=65971)
الگوریتم کراسکال (http://njavan.com/forum/showthread.php?t=65970)
این لینک هم میتونه کمکت کنه :
Kruskal (http://en.wikipedia.org/wiki/Kruskal%27s_algorithm)
موفق باشی
شیلااسلامی
13th June 2010, 04:52 PM
سلام خسته نباشیدمیتونیدالگوریتم صفحه بندی روبرام میل کنید؟
آبجی
13th June 2010, 10:07 PM
سلام خسته نباشیدمیتونیدالگوریتم صفحه بندی روبرام میل کنید؟
بند 5 از اطلاعیه ( لطفا قبل از زدن پست مطالعه کنید ) (http://njavan.com/forum/announcement.php?f=80)
5- هیچ ایمیلی از طرف کادر مدیران و همکاران سایت علمی نخبگان برای کاربران ارسال نمیشود .
موفق باشید
zahedeh jon
16th October 2010, 10:10 AM
سلام من برنامه تبديل مبنا 10 به 2 نوشته شده به زبان سي پلاس پلاس مي خوام لطفا به ميلم trip_bahal69@yahoo.com ارسال كنيد بي زحمت همين الان عجله دارم مرسي
Hossein47
18th October 2010, 09:21 AM
آبجی اینا که فقط فایل اجرایی هست.سورس نداره؟من سورس پریم و کروسکال را میخواستم اونم به زبان سی
خودت سورسشو درار ....یعنی انقد برنامش امنیت داره که سورسش و نمیشه گرفت؟؟؟؟؟؟[taajob]
صادق صدقی
9th December 2010, 11:55 AM
سلام آبجی
من سورسه پازل رو می خوام به زبان سی پلاس
اون سورسی که دادی سی پلاس پلاس نبود
تورو خدا خیلی ضروریه
تا 1 شنبه بیشتر وقت ندارم
کمکم کنید
arashjam
10th May 2011, 03:39 PM
این برنامه ها نوشته ها رو ندارد
sh mahsa
13th May 2011, 04:15 PM
سلام من سورس کد بازی 8وزیر رو با سی # می خوام اگه کسی میتونه به من کمک کنه
Bad Sector
13th May 2011, 05:06 PM
سلام من سورس کد بازی 8وزیر رو با سی # می خوام اگه کسی میتونه به من کمک کنه
اینم سورس کد به همراه فایل اجرایی در محیط #C [cheshmak]
Bad Sector
28th May 2011, 11:53 AM
salam
in linkaei ke dadain ke vared nemishe
man barname mashin hesabetono mikham
طبق قوانین سایت لطفا فارسی تایپ کنید .
برنامه ماشین حساب قرار گرفت
spiderman1989
5th June 2011, 02:10 AM
آقا حسین اگه واقعا امنیتش اونقدر نیست..پس می شه توضیح بدین چه طور می شه از این فایلا سورسشو در آورد
Bad Sector
14th June 2011, 07:09 PM
می خواهید برنامه ای داشته باشید که یک عدد 20 رقمی را در یک عدد 20
رقمی ضرب کنه و همین طور حاصل جمع شو برات چاپ کنه. اگه این طوره پس این سورس و نگاه کنید .
#include <iostream.h>
#include <conio.h>
int x[20],y[20],w[40],k[20][40];
void multiply(void);
void Sum(void);
void main(){
char t[20];
int i,j,z;
clrscr();
cout << "\n Enter a Number 1 :";
cin >> t;
z=19;
for(i=0;i<20 && t[i];i++);
for(i=i-1;i>=0;i--)
x[z--]=t[i]-48;
cout << "\n Enter a Number 2 :";
cin >> t;
z=19;
for(i=0;i<20 && t[i];i++);
for(i=i-1;i>=0;i--)
y[z--]=t[i]-48;
for(i=0;i<20;i++)
for(j=0;j<40;j++)
k[i][j]=0;
multiply();
}
/************************************************** ************************
************************************************** ************************/
void multiply(void){
int i,j,z,z1,tmp,c;
c=0;
z=39;
for(i=19;i>=0;i--)
for(j=19;j>=0;j--){
tmp=(x[i]*y[j])+c;
c=0;
// cout<<tmp<<"\n";
while(tmp>=10){
c++;
tmp=tmp-10;
}
if(i==19)
k[i][j+20]=tmp;
else{
if(j==19){
z--;
z1=z;
}
k[i][z1--]=tmp;
}
}
c=0;
for(j=39;j>=0;j--){
for(i=0;i<20;i++)
tmp+=k[i][j];
tmp+=c;
c=0;
while(tmp>=10){
c++;
tmp-=10;
}
w[j]=tmp;
tmp=0;
}
for(i=0;i<40 && w[i]==0 ;i++);
cout<<"\n\n Value zarb= ";
for(i;i<40;i++)
cout<<w[i];
Sum();
}
/************************************************** ************************
************************************************** ************************/
void Sum(void){
int i,tmp,c,s[20];
c=0;
for(i=19;i>=0;i--){
tmp=(x[i]+y[i])+c;
c=0;
while(tmp>=10){
c++;
tmp=tmp-10;
}
s[i]=tmp;
}
cout<<"\n\n Value jam = ";
for(i=0;i<20 && s[i]==0 ;i++);
for(i;i<20;i++)
cout<<s[i];
}
Bad Sector
14th June 2011, 07:12 PM
دوستان این کد تا 50 رقم رو ضرب می کنه البته با سی شارپه .
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int i;
string num1, num2, result;
int[] a = new int[50];
int[] b = new int[50];
int[] c = new int[51];
Console.Write("please enter number1 : ");
num1 = Console.ReadLine();
for (i = 0; i < num1.Length; i++)
a[49 - i] = int.Parse(num1[num1.Length - 1 - i].ToString());
Console.Write("please enter number2 : ");
num2 = Console.ReadLine();
for (i = 0; i < num2.Length; i++)
b[49 - i] = int.Parse(num2[num2.Length - 1 - i].ToString());
int x = 0;
for (i = 49; i >= 0; i--)
{
c[i+1] = (a[i] + b[i] + x) % 10;
x = (a[i] + b[i] + x) / 10;
}
bool flag = false;
Console.Write(" SUM IS : ");
for (i = 0; i < 51; i++)
{
if (c[i] != 0 || flag)
{
flag = true;
Console.Write("{0}", c[i]);
}
}
Console.ReadLine();
}
}
}
Bad Sector
14th June 2011, 07:17 PM
این سورس یک عدد گرفته و به تعداد همان عدد از ورودی دریافت می کند و آنها را با روش Bubble sort مرتب می کند .
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
//--------------------------------------------------------------------------
void read_list(int a[],int n){
int i;
for(i=0;i<n;i++){
printf("\n\n\t ENTER THE ELEMENT [%d] :: ",i);
scanf("%d",&a[i]);
}
}
//--------------------------------------------------------------------------
void print_list(int a[],int n){
int i;
for(i=0;i<n;i++)
printf("\t%d",a[i]);
}
//--------------------------------------------------------------------------
void bubble_sort(int a[],int n){
int i,j,temp;
for(i=0;i<n-1;i++){
for(j=0;j<n-1;j++)
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
printf("\n\n\t PASS %d :: ",i);
print_list(a,n);
}
}
//--------------------------------------------------------------------------
void main(){
int a[20],n;
clrscr();
printf("\n\n\t ENTER THE ARRAY LENGTH :: ");
scanf("%d",&n);
read_list(a,n);
printf("\n\n\t THE ARRAY ELEMENTS ARE AS FOLLOWS :: ");
print_list(a,n);
bubble_sort(a,n);
printf("\n\n\t THE SORTED LIST IS :: ");
print_list(a,n);
getch();
}
//--------------------------------------------------------------------------
Bad Sector
14th June 2011, 07:18 PM
این سورس دو ماتریس 3 در 5 را از ورودی می گیرد و در هم ضرب می کند و ماتریس 3 در 3 نتیجه را در خروجی چاپ می کند .
#include <iostream.h>
#include <conio.h>
main(){
int x[3][5],y[5][3],z[3][3],i,j,k;
clrscr();
cout<<"\n Matris 1";
for(i=0;i<3;i++)
for(j=0;j<5;j++){
cout<<"\n Enter a number satre "<<i+1 <<" sotone "<<j+1 <<" : ";
cin>>x[i][j];
}
cout<<"\n Matris 2";
for(i=0;i<5;i++)
for(j=0;j<3;j++){
cout<<"\n Enter a number satre "<<i+1 <<" sotone"<<j+1 <<" : ";
cin>>y[i][j];
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
z[i][j]=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
for(k=0;k<5;k++)
z[i][j]+=(x[i][k]*y[k][j]);
cout<<"\n\n Value ";
for(i=0;i<3;i++){
cout<<endl;
for(j=0;j<3;j++)
cout<<"\t"<<z[i][j];
}
}
Bad Sector
14th June 2011, 07:19 PM
این سورس که به زبان C++ نوشته شده است اینگونه عمل می کند که رشته را از دو طرف مقایسه می کنه اگر از هر دو طرف یک جور بود برای مثال کلمه RooR از هر طرفی که خوانده شود همان RooR می باشد .
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#define Max 20
main(){
char str[Max];
int i,max,j;
cout<<"\n Enter a statment :";
cin>>str;
max=strlen(str);
for(i=0,j=max-1;i<2;i++,j--)
if(str[i]!=str[j]){
cout<<"\n Not EQUAL";
exit(1);
}
cout<<"\n EQUAL";
}
Bad Sector
14th June 2011, 07:20 PM
این سورس دو ماتریس 3 در 5 را از ورودی می گیرد و با هم جمع می کند و در خروجی نتیجه را چاپ می کند .
#include <iostream.h>
#include <conio.h>
main(){
int x[3][5],y[3][5],z[3][5],i,j;
clrscr();
cout<<"\n Matris 1";
for(i=0;i<3;i++)
for(j=0;j<5;j++){
cout<<"\n Enter a number satre "<<i+1 <<" sotone "<<j+1 <<" : ";
cin>>x[i][j];
}
cout<<"\n Matris 2";
for(i=0;i<3;i++)
for(j=0;j<5;j++){
cout<<"\n Enter a number satre "<<i+1 <<" sotone"<<j+1 <<" : ";
cin>>y[i][j];
}
for(i=0;i<3;i++)
for(j=0;j<5;j++)
z[i][j]=x[i][j]+y[i][j];
cout<<"\n\n Value ";
for(i=0;i<3;i++){
cout<<endl;
for(j=0;j<5;j++){
cout<<"\t"<<z[i][j];
}
}
}
Bad Sector
14th June 2011, 07:25 PM
این سورس دو عدد را بوسیله اشاره گر از ورودی می گیرد و با هم جمع می کند .
#include <iostream.h>
#include <stdlib.h>
main(){
int *x,*y;
x=(int *) calloc(1,sizeof(int));
y=(int *) calloc(1,sizeof(int));
cout<<"\n Enter a number : ";
cin>>*x;
cout<<"\n Enter a number : ";
cin>>*y;
cout<<"\n Value = "<<*x+*y;
}
Bad Sector
14th June 2011, 07:26 PM
این پروژه نیز کاربرد مفید لینک لیست ها را نشان می دهد که ابتدا بی نهایت مجموعه با بی نهایت عضو می گیرد و سپس اسم دو مجموعه از مجموعه های ورودی را می گیرد و حاصل ضرب دکارتی آن مجموع ها را چاپ می کند .
A={1,2,3}
B={5,6}
A * B = { (1*5) (1*6)(2*5)(2*6)(3*5)(3*6) }
#include "iostream.h"
#include "conio.h"
#include "stdlib.h"
#include "string.h"
struct number{
int count;
int num;
struct number *next;
}*nn,*ln,*fn;
struct collection{
char name[20];
struct number *p;
struct collection *next;
}*fc,*nc,*lc;
void add();
void print();
void move();
int *avali,*dovomi,c1,c2;
char a[20],b[20];
main(){
add();
move();
print();
}
//***********************************
void add(){
char x[20];
int tmp;
cout<<"\n Enter your set by n";
do{
cout<<"\n Enter a name for complex : ";
cin>>x;
if(strcmp(x,"final")==0)
break;
cout<<"\n\t { \n";
nc=(struct collection*)calloc(1,sizeof(struct collection));
if(nc==NULL)
exit(1);
if(fc==NULL)
fc=nc;
else
lc->next=nc;
lc=nc;
nc->next=NULL;
nc->p=NULL;
strcpy(nc->name,x);
do{
cout<<"\t\t";
cin>>x;
if(strcmp(x,"end")==0)
break;
else
tmp=atoi(x);
nn=(struct number*)calloc(1,sizeof(struct number));
if(nn==NULL)
exit(1);
nn->next=NULL;
nn->num=tmp;
nn->count=0;
if(nc->p==NULL){
nc->p=fn=nn;
fn->count=1;
}
else{
ln->next=nn;
fn->count+=1;
}
ln=nn;
}while(1);
cout<<"\n\t } \n";
}while(1);
}
//************************************************
void move(){
int i;
clrscr();
cout<<"\n Enter two collection (C B) : ";
cin>>a>>b;
nc=fc;
while(nc!=NULL){
if(strcmp(nc->name,a)==0){
ln=nc->p;
c1=ln->count;
avali=(int*)calloc(c1,sizeof(int));
for(i=0;i<c1;i++){
avali[i]=ln->num;
ln=ln->next;
}
}
else if(strcmp(nc->name,b)==0){
ln=nc->p;
c2=ln->count;
dovomi=(int*)calloc(c2,sizeof(int));
for(i=0;i<c2;i++){
dovomi[i]=ln->num;
ln=ln->next;
}
}
nc=nc->next;
}
}
//************************************************** ****************************
void print(){
int i,j;
clrscr();
cout<<"\n "<<a<<"*"<<b<<" = {";
for(i=0;i<c1;i++)
for(j=0;j<c2;j++)
cout<<"("<<avali[i]<<"*"<<dovomi[j]<<")";
cout<<"}";
getch();
}
Bad Sector
14th June 2011, 07:27 PM
این پروژه سورس سری فیبوناچی می باشد که هم به صورت بازگشتی و هم به صورت معمولی نوشته شده است .
#include "iostream.h"
#include "conio.h"
int fib (int);
int i;
main(){
int n;
clrscr();
cout<<"\n Enter a number : ";
cin>>n;
cout<<"\n\n value = ";
if(n==1 || n==2)
cout<<"0 ";
else if(n>2)
cout<<"0 1 ";
cout<<fib(n);
getch();
}
//*****************************************
int fib (int n){
int x=0,y;
if(n<=1)
return n;
x=fib(n-1);
y=fib(n-2);
if(i<x){
cout<<x<<" ";
i=x;
}
return x+y;
}
Bad Sector
14th June 2011, 07:30 PM
این پروژه یک کلاسی است که امکان اضافه کردن دانشجو ، ویرایش ، جستجو و ... را دارد که امکان ذخیره سازی اطلاعات تو فایل و بارگذاری مجدد آن هنگام اجرای برنامه را دارا می باشد و همچنین حجم فایل ذخیره شده را نشان میدهد . در کل بگم که این سورس به صورت تمام با کلاس ها نوشته شده است و کد خوبی برای درک کلاس ها می باشد .
#include "iostream.h"
#include "conio.h"
#include "string.h"
#include "stdio.h"
#include "stdlib.h"
#include "io.h"
#include "fcntl.h"
#define max 50
class student {
public :
char numst[11];
char name[15];
char famili[20];
double score[4];
double ave;
student(); //initializing
~student(); //destructing
set_null(){name[0]=numst[0]='\0';}
}st[max];
//************************************
student::student(){ //initializing
set_null();
}
//*************************************
student::~student(){ //destructing
set_null();
}
//*************************************
class Enter {
private :
void save();
public :
void add();
void edit();
void search();
void print();
void len_file();
void load();
}e;
//************************************************** ****************************
void Enter::add(){
int i;
double sum=0.00;
for(i=0;i<max && st[i].name[0]!='\0';i++);
clrscr();
cout<<"\n Enter a name : ";
cin>>st[i].name;
cout<<"\n Enter a famili : ";
cin>>st[i].famili;
cout<<"\n Enter a numst : ";
cin>>st[i].numst;
for(int j=0;j<4;j++){
cout<<"\n Enter a score "<<j+1<<" : ";
cin>>st[i].score[j];
sum+=st[i].score[j];
}
st[i].ave=sum/4;
e.save();
}
//************************************************** ****************************
void Enter::edit(){
char tmp[11];
int i,flag=0;;
double sum=0.00;
clrscr();
cout<<"\n Enter a numst for edit : ";
cin>>tmp;
for(i=0;i<max && st[i].name[0]!='\0';i++)
if(strcmp(st[i].numst,tmp)==0){
cout<<"\n Enter a new name : ";
cin>>st[i].name;
cout<<"\n Enter a new famili : ";
cin>>st[i].famili;
for(int j=0;j<4;j++){
cout<<"\n Enter a new score "<<j+1<<" : ";
cin>>st[i].score[j];
sum+=st[i].score[j];
}
st[i].ave=sum/4;
cout<<"\n for continue . press key...";
getch();
flag=1;
e.save();
}
if(flag==0){
cout<<"\n Not found . press key...";
getch();
return ;
}
}
//************************************************** ****************************
void Enter::search(){
char tmp[15];
int i,flag=0;
clrscr();
cout<<"\n Enter a name for search : ";
cin>>tmp;
for(i=0;i<max && st[i].name[0]!='\0';i++)
if(strcmp(st[i].name,tmp)==0){
cout<<"\n Name = "<<st[i].name;
cout<<"\n Famili = "<<st[i].famili;
for(int j=0;j<4;j++)
cout<<"\n Score "<<j+1<<" = "<<st[i].score[j];
cout<<"\n average = "<<st[i].ave;
cout<<"\n for continue . press key...";
getch();
flag=1;
}
if(flag==0){
cout<<"\n Not found . press key...";
getch();
return ;
}
}
//************************************************** ****************************
void Enter::print(){
int i;
clrscr();
for(i=0;i<max && st[i].name[0]!='\0';i++){
cout<<"\n Name = "<<st[i].name;
cout<<"\n Famili = "<<st[i].famili;
for(int j=0;j<4;j++)
cout<<"\n Score "<<j+1<<" = "<<st[i].score[j];
cout<<"\n average = "<<st[i].ave<<"\n\n";
}
cout<<"\n for continue . press key...";
getch();
}
//************************************************** ****************************
void Enter::save(void){
register int i;
FILE *fp;
fp=fopen("c:\\st.dat","w+b");
if(!fp){
cout<<"\n Cannot open file press key ...";
getch();
return ;
}
for(i=0;i<max && st[i].name[0]!='\0';i++)
fwrite(&st[i],sizeof(class student),1,fp);
fclose(fp);
}
//************************************************** ****************************
void Enter::load(void){
register int i;
FILE *fp;
clrscr();
fp=fopen("c:\\st.dat","rb");
if(!fp){
cout<<"\n Cannot open file press key ...";
getch();
return ;
}
for(i=0;i<max;i++){
fread(&st[i],sizeof(class student),1,fp);
if(feof(fp)){
clrscr();
cout<<" Data loaded press a key ...";
getch();
return ;
}
}
fclose(fp);
}
//************************************************** ****************************
void Enter::len_file(){
int handle;
clrscr();
handle=open("c:\\st.dat",O_RDONLY);
cout<<"\n File lenght in byte = "<<filelength(handle)<<" byte ";
getch();
close(handle);
}
//************************************************** ****************
void main(){
int num;
e.load();
do{
clrscr();
cout<<"\t\t Welcome\n";
cout<<"\n 1).Add";
cout<<"\n 2).Edit";
cout<<"\n 3).Search";
cout<<"\n 4).List";
cout<<"\n 5).Length file";
cout<<"\n 6).Exit";
cout<<"\n\n Enter a number (1-6) :";
num=getche()-48;
getch();
switch (num){
case 1 : e.add();
break;
case 2 : e.edit();
break;
case 3 : e.search();
break;
case 4 : e.print();
break;
case 5 : e.len_file();
break;
case 6 : exit(1);
}
}while(1);
}// end program
Bad Sector
14th June 2011, 07:32 PM
این سورس یک عدد گرفته و به تعداد همان عدد از ورودی دریافت می کند و آنها را با روش . Quick sort مرتب می کند .
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
//--------------------------------------------------------------------------
void read_list(int a[],int n){
int i;
for(i=0;i<n;i++){
printf("\n\n\t ENTER THE ELEMENT [%d] :: ",i);
scanf("%d",&a[i]);
}
}
//--------------------------------------------------------------------------
void print_list(int a[],int n){
int i;
for(i=0;i<n;i++)
printf("\n\n\t %d",a[i]);
}
//--------------------------------------------------------------------------
void quick_sort(int a[],int first,int last){
int low,high,temp,pivot;
low=first;
high=last;
pivot=a[(first+last)/2];
do{
while(a[low]<pivot)
low++;
while(a[high]>pivot)
high--;
if(low<=high){
temp=a[low];
a[low]=a[high];
a[high]=temp;
low=low+1;
high=high-1;
}
}while(low<=high);
if(first<high)
quick_sort(a,first,high);
if(low<last)
quick_sort(a,low,last);
}
//--------------------------------------------------------------------------
void main(){
int a[20],n;
clrscr();
printf("\n\n\t ENTER THE ARRAY LENGTH :: ");
scanf("%d",&n);
read_list(a,n);
printf("\n\n\t THE ARRAY ELEMENTS ARE AS FOLLOWS :: ");
print_list(a,n);
quick_sort(a,0,n-1);
printf("\n\n\t THE SOTED LIST IS :: ");
print_list(a,n);
getch();
}
//--------------------------------------------------------------------------
استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است
استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد
vBulletin® v4.2.5, Copyright ©2000-2025, Jelsoft Enterprises Ltd.