lasko
03-07-2008, 04:34 PM
السلام عليكم ورحمة الله وبركاته:
اول شي عندي شوية عتب على الاخوين golden man & executioner يعني فجأة بيقطعونا من اتحافنا صحيح انا
مقدر وضعون انو في ضغط عليهن بس انو يقطعونا من تمارينهون فجأة تقيلة شوي صحيح انا ما كنت عم شارك بالمنتدى وذلك لسوء في الاحوال الجوية عندي بس كنت عم اشتغل لحالي
والشباب كانو عم يشاركو كمان ومع هيك بنتشكر جهودون .
المهم جايبلكون اليوم فقرتين بسيطتين عن التوابع لنقوي حالنا فيهون شوي نرجو من الله الفائدة
اول وحدة مثال بسيط عن العودية متل ما بتعرفو تبدأ سلسلة فيبوناتشي fibonacci بالعددين 0و1 ويتصف كل عدد من اعدادها الباقية بالخاصة التالية العدد=مجموع العددين الذين يسبقانه مباشرة
من شان هيك : اكتب التابع العودي fibonacci الذي يقوم بحساب العدد ذي الرقم n من سلسلة فيبوناتشي "هاد التمرين عطتنا ياه الانسة كناز بس حليناه بغير طريقة ^_^ بدي ياه بالعودية" بسيطة ما فيها شي
وتاني وحدة شغلة بس من شان نحرك حالنا شوي وما نجمد وهي عبارة عن انو بدي برنامج صغير وابن حلال بيقوم بكل مرة تشغيل انو يعطيني توزيعة ورق شدة جديدة مو اكتر يعني يقسم ورق الشدة على لاعبين
وفي طرق خير الله وهي وحدة من هي الطرق يلي طلعت معي :
#include <iostream>
using std::cout;
using std::left;/* لتجانب الكلمة يساريا حيث يظهر اخر حرف من الكلمة على نسق واحد مع السطر الذي يليه*/
using std::right;/* لتجانب الكلمة يمينيا حيث يظهر اخر حرف من الكلمة على نسق واحد مع السطر الذي يليه*/
#include <iomanip>
using std::setw;//تقوم بوضع مسافات حسب الرقم داخل ()
#include <cstdlib> // prototypes for rand and srand
#include <ctime> // prototype for time
// prototypes
void shuffle( int [][ 13 ] );
void deal( const int [][ 13 ], const char [][10], const char [][10] );/*كما نعلم ان تمرير المصفوفة يعتبر مرجعيا فاذا اردنا ان نمرر ولكن لا نريد ان نغيير محتواها نستخدم قبل اسمها الواصف "const"
*/
int main()
{
// initialize suit array
const char suit[ 4 ][10] =
{ "Hearts", "Diamonds", "Clubs", "Spades" };
// initialize face array
const char face[ 13 ][10] =
{ "Ace", "Deuce", "Three", "Four",
"Five", "Six", "Seven", "Eight",
"Nine", "Ten", "Jack", "Queen", "King" };
// initialize deck array
int deck[ 4 ][ 13 ] = { 0 };
srand( time( 0 ) ); // seed random number generator
shuffle( deck );
deal( deck, face, suit );
return 0; // indicates successful termination
} // end main
// shuffle cards in deck
void shuffle( int wDeck[][ 13 ] )
{
int row;
int column;
// for each of the 52 cards, choose slot of deck randomly
for ( int card = 1; card <= 52; card++ ) {
// choose new random location until unoccupied slot found
do {
row = rand() % 4;// يقوم بتوليد ارقام عشوائية اقل من 4
column = rand() % 13;// يقوم بتوليد ارقام عشوائية اقل من13
} while( wDeck[ row ][ column ] != 0 ); // end do/while
// place card number in chosen slot of deck
wDeck[ row ][ column ] = card;
} // end for
} // end function shuffle
// deal cards in deck
void deal( const int wDeck[][ 13 ], const char wFace[][10],
const char wSuit[][10] )
{
// for each of the 52 cards
for ( int card = 1; card <= 52; card++ )
// loop through rows of wDeck
for ( int row = 0; row <= 3; row++ )
// loop through columns of wDeck for current row
for ( int column = 0; column <= 12; column++ )
// if slot contains current card, display card
if ( wDeck[ row ][ column ] == card ) {
cout << setw( 5 ) << right << wFace[ column ]
<< " of " << setw( 8 ) << left
<< wSuit[ row ]
<< ( card % 2 == 0 ? '\n' : '\t' );
} // end if
} // end function deal
هلأ هاد كود طويل شوي بدي طرق اخرى يعني بدنا همتكن شباب بالحل وبالمواضيع والفكر الجديدة
ولا تنسونا بالدعوة الصالحة^_^3smil
اول شي عندي شوية عتب على الاخوين golden man & executioner يعني فجأة بيقطعونا من اتحافنا صحيح انا
مقدر وضعون انو في ضغط عليهن بس انو يقطعونا من تمارينهون فجأة تقيلة شوي صحيح انا ما كنت عم شارك بالمنتدى وذلك لسوء في الاحوال الجوية عندي بس كنت عم اشتغل لحالي
والشباب كانو عم يشاركو كمان ومع هيك بنتشكر جهودون .
المهم جايبلكون اليوم فقرتين بسيطتين عن التوابع لنقوي حالنا فيهون شوي نرجو من الله الفائدة
اول وحدة مثال بسيط عن العودية متل ما بتعرفو تبدأ سلسلة فيبوناتشي fibonacci بالعددين 0و1 ويتصف كل عدد من اعدادها الباقية بالخاصة التالية العدد=مجموع العددين الذين يسبقانه مباشرة
من شان هيك : اكتب التابع العودي fibonacci الذي يقوم بحساب العدد ذي الرقم n من سلسلة فيبوناتشي "هاد التمرين عطتنا ياه الانسة كناز بس حليناه بغير طريقة ^_^ بدي ياه بالعودية" بسيطة ما فيها شي
وتاني وحدة شغلة بس من شان نحرك حالنا شوي وما نجمد وهي عبارة عن انو بدي برنامج صغير وابن حلال بيقوم بكل مرة تشغيل انو يعطيني توزيعة ورق شدة جديدة مو اكتر يعني يقسم ورق الشدة على لاعبين
وفي طرق خير الله وهي وحدة من هي الطرق يلي طلعت معي :
#include <iostream>
using std::cout;
using std::left;/* لتجانب الكلمة يساريا حيث يظهر اخر حرف من الكلمة على نسق واحد مع السطر الذي يليه*/
using std::right;/* لتجانب الكلمة يمينيا حيث يظهر اخر حرف من الكلمة على نسق واحد مع السطر الذي يليه*/
#include <iomanip>
using std::setw;//تقوم بوضع مسافات حسب الرقم داخل ()
#include <cstdlib> // prototypes for rand and srand
#include <ctime> // prototype for time
// prototypes
void shuffle( int [][ 13 ] );
void deal( const int [][ 13 ], const char [][10], const char [][10] );/*كما نعلم ان تمرير المصفوفة يعتبر مرجعيا فاذا اردنا ان نمرر ولكن لا نريد ان نغيير محتواها نستخدم قبل اسمها الواصف "const"
*/
int main()
{
// initialize suit array
const char suit[ 4 ][10] =
{ "Hearts", "Diamonds", "Clubs", "Spades" };
// initialize face array
const char face[ 13 ][10] =
{ "Ace", "Deuce", "Three", "Four",
"Five", "Six", "Seven", "Eight",
"Nine", "Ten", "Jack", "Queen", "King" };
// initialize deck array
int deck[ 4 ][ 13 ] = { 0 };
srand( time( 0 ) ); // seed random number generator
shuffle( deck );
deal( deck, face, suit );
return 0; // indicates successful termination
} // end main
// shuffle cards in deck
void shuffle( int wDeck[][ 13 ] )
{
int row;
int column;
// for each of the 52 cards, choose slot of deck randomly
for ( int card = 1; card <= 52; card++ ) {
// choose new random location until unoccupied slot found
do {
row = rand() % 4;// يقوم بتوليد ارقام عشوائية اقل من 4
column = rand() % 13;// يقوم بتوليد ارقام عشوائية اقل من13
} while( wDeck[ row ][ column ] != 0 ); // end do/while
// place card number in chosen slot of deck
wDeck[ row ][ column ] = card;
} // end for
} // end function shuffle
// deal cards in deck
void deal( const int wDeck[][ 13 ], const char wFace[][10],
const char wSuit[][10] )
{
// for each of the 52 cards
for ( int card = 1; card <= 52; card++ )
// loop through rows of wDeck
for ( int row = 0; row <= 3; row++ )
// loop through columns of wDeck for current row
for ( int column = 0; column <= 12; column++ )
// if slot contains current card, display card
if ( wDeck[ row ][ column ] == card ) {
cout << setw( 5 ) << right << wFace[ column ]
<< " of " << setw( 8 ) << left
<< wSuit[ row ]
<< ( card % 2 == 0 ? '\n' : '\t' );
} // end if
} // end function deal
هلأ هاد كود طويل شوي بدي طرق اخرى يعني بدنا همتكن شباب بالحل وبالمواضيع والفكر الجديدة
ولا تنسونا بالدعوة الصالحة^_^3smil