تسجيل الدخول

مشاهدة النسخة كاملة : مطلوب كود برمجي او برنامج حسابي او عمليه حسابيه عاااااااااااااااجل



كبير المتداولين
17-08-2010, 12:04 PM
ابي برنامج حسابي مصغر او كود برمجي او عمليه حسابيه لتجزئه الارقام

مثال على ذالك يعني عندي العدد 1000

ابي تجزئته الى 4 اجزاء مختلفه بحيث تكون مجموعها 1000
ولاكن تختلف هذه الاجزاء في قيمها وفي كل مره يتم تطبيق العمليه يتم تغيير قيم الاعداد الاربعه
كمثل 250+246+320+184 = 1000

قطرية فذة
17-08-2010, 12:14 PM
أخوي وضح اكثر من فضلك مافهمت اش تقصد يتغير العدد

كبير المتداولين
17-08-2010, 12:24 PM
أخوي وضح اكثر من فضلك مافهمت اش تقصد يتغير العدد

اخوي تغيير العدد في حاله كان برنامج صغير على الاكسل او اي لغه برمجه يكون العدد متغير في كل مره يتم تطبيق الكود تتغير الارقام ولاكن النتيجه ثابته

مثال :

250+250+250+250 = 1000
260+240+250+250 = 1000
300+400+100+200 = 1000

A H M A D
18-08-2010, 10:55 AM
مرحبا اخوي .. انت بحاجة الى خوارزمية الإحتمالات الكلية وليس كود .. على اي برنامج تشتغل انت ؟ اذا على vb.net برفق لك الكود


#include "stdafx.h"
#include <cmath>
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
const int PLACES=5; //How many places do you want the characters to be placed in, "any number"
int result[PLACES];

unsigned int POW;
const int char_num=3; //Define the number of characters
char STRING[char_num]={'1','2','3'}; //Write down your characters array

cout<<"The total number of substrings is : "<<pow((float)char_num,PLACES)<<endl;
cout<<"Press Enter to continue displaying the strings"<<endl;
cin.get();

for(int q=0;q<pow((float)char_num,PLACES);q++)
{
for(int w=0;w<PLACES;w++)
{
POW=pow((float)char_num,w);
cout<<STRING[((q-(q%POW))/POW)%char_num];
}
cout<<endl;
}

cout<<"FINISH"<<endl;
cin.ignore();
cin.get(); //Freeze the screen, you can also use ctrl+F5 in VS compilers

return 0;
}

محمد الجفيري
29-08-2010, 09:33 PM
انا ممكن ابرمجلك شي مماثل
بس ابي اعرف هل تبي كل الاحتمالات
ولا انت راح تقدم عدد معين من الاحتمالات
مثلا
250+؟+230+200=1000
وهو يطلعلك الاستفهام

كبير المتداولين
24-10-2010, 02:30 PM
يعطيكم العافيه شباب انا حاولت ابحث وماقدرت انا اشتغل على لغه فجول 6

اوضح لكم مره ثانيه الي ابي اوصله

المستخدم يقوم بأدخال عدد معين مثال على ذالك يدخل الرقم 800
الكود يقوم بتجزئه العدد الى عده اجزاء 5 اجزاء او 4 اجزاء او 3 تكون صحيحه مش كسريه وفي كل مره اسوي تطبيق للعميله تختلف التجزئه يعني لو سويتها في المره الاولى يطلع التجزئه كالاتي (100-200-500 ) في المره الثانيه انفذ البرنامج او اعيد تشغيله يعطيني شي غير مثال (200-400-100-100)

ارجو انها وصلت الفكره

رهيب
24-10-2010, 06:48 PM
تفضل اخي ...
بحيث nm = الرقم المراد تجزأته
و مجموع n1 + n2 + n3 + n4 = nm
======

nm = 1000
n1 = Int(Rnd(Timer) * nm / 2)
n2 = Int(nm / 2 - n1)
n3 = Int(Rnd(Timer) * nm / 2)
n4 = nm - n1 - n2 - n3

كبير المتداولين
25-10-2010, 08:55 AM
تفضل اخي ...
بحيث nm = الرقم المراد تجزأته
و مجموع n1 + n2 + n3 + n4 = nm
======

nm = 1000
n1 = int(rnd(timer) * nm / 2)
n2 = int(nm / 2 - n1)
n3 = int(rnd(timer) * nm / 2)
n4 = nm - n1 - n2 - n3

اخويهل تعيد نفسها التجزئه الشي الثاني بأي لغه هالكود
وشنهو وظيفتها هالاداه
int(rnd(timer)
التايمر انت تستخدمها للتكرار وint تعريف العدد الصحيح الرند تقوم بالتدوير لاكن تلخبطت شلون تصير الحسبه ممكن تشرحها بالتفصيل اكون شاكر لك

رهيب
25-10-2010, 01:13 PM
اللغة هي VBA فيجول بيسك للتطبيقات مثل الإكسل و الورد و هي تقريبا نفس الفيجوال بيسك.
Rnd أمر موجود في vb لتوليد أرقام عشوائية ما بين 0 الى 1 يعني كسور فمثلا اذا استخدمنا rnd(1) يعطينا ارقام عشوائية و لكن بنفس الترتيب في كل مرة يتم فيها تشغيل البرنامج و للتغلب على مشكلة الترتيب استخدمت الامر timer و هذا الامر يعطينا ارقام بدلالة الوقت و التاريخ فاذن عند استخدام rnd(timer) نحصل على ارقام عشوائية من 0 الى 1 في كل مرة يتم فيها اعادة تشغيل البرنامج و الان اذا ضربنا rnd(timer) في أي رقم مثلا 100 فاذن الناتج يكون رقم حقيقي عشوائي ما بين 0 و 100 و للحصول على رقم صحيح استخدمنا الامر int






nm = 1000
n1 = int(rnd(timer) * nm / 2)
n2 = int(nm / 2 - n1)
n3 = int(rnd(timer) * nm / 2)
n4 = nm - n1 - n2 - n3

كبير المتداولين
26-10-2010, 02:09 PM
اخوي شاكر لك على الشرح بس بهالشكل العمليه انا طبقتها نفس كلامك هو صحيح تجزء الرقم الى 4 ارقام ولاكن السؤال شلون اقدر اولد رقم عشوائي بدون استخدام هالاداه لاني ممكن ماالقاها في اللغه الي اتعامل فيها

ولد العلي
26-10-2010, 08:38 PM
السلام عليكم :telephone: ممكن اشارك؟ :)

ممكن تبحث في الانترنت عن "System.Random" لحل مشكلتك

هذه الأوامر ب لغة vb.net



Dim nm As Integer = 1000
Dim n1 As Integer : Dim n2 As Integer
Dim n3 As Integer : Dim n4 As Integer

Dim randObj As New System.Random
n1 = randObj.Next(0, nm)
n2 = randObj.Next(0, nm - n1)
n3 = randObj.Next(0, nm - (n1 + n2))
n4 = nm - (n1 + n2 + n3)

Good Luck :nice:

كبير المتداولين
27-10-2010, 09:40 AM
السلام عليكم :telephone: ممكن اشارك؟ :)

ممكن تبحث في الانترنت عن "system.random" لحل مشكلتك

هذه الأوامر ب لغة vb.net



dim nm as integer = 1000
dim n1 as integer : Dim n2 as integer
dim n3 as integer : Dim n4 as integer

dim randobj as new system.random
n1 = randobj.next(0, nm)
n2 = randobj.next(0, nm - n1)
n3 = randobj.next(0, nm - (n1 + n2))
n4 = nm - (n1 + n2 + n3)

good luck :nice:

شاكر لك وفي ميزان حسناتك

ممكن تشرح لي هالخطوه ماعليك امر اخوي

ولد العلي
28-10-2010, 12:49 AM
السلام عليكم
راح اشرح لك السطر اللي طلبته
صيغة الامر

n1 = Random.Next (minValue, maxValue )minValue اصغر قيمة
maxValue اكبر قيمة

n1 النتيجة توضع في هذا المتغيير

واسمح لي على التاخير بالتوفيق

ولد العلي
02-11-2010, 12:35 AM
السلام عليكم
لتعم الفائدة راح استرسل في شرح هذه الاوامر


Dim nm As Integer = 1000
Dim n1 As Integer : Dim n2 As Integer
Dim n3 As Integer : Dim n4 As Integer
Dim randObj As New System.Random
n1 = randObj.Next(0, nm)
n2 = randObj.Next(0, nm - n1)
n3 = randObj.Next(0, nm - (n1 + n2))
n4 = nm - (n1 + n2 + n3)


السطر الاول

dim nm as integer = 1000عرفنا متغير nm من نوع عدد صحيح (integer)
وحددنا قيمة المتغيير يساوي 1000
في حالة رغبتك في تغيير هذه القيمة في كل مرة تنفذ البرنامج، اعرض هذا المتغيير على المستخدم

السطر الثاني والثالث

dim n1 as integer : Dim n2 as integer
dim n3 as integer : Dim n4 as integerعرفنا متغيرات n1,n2,n3,n4 من نوع عدد صحيح (integer)

السطر الرابع

dim randobj as new system.randomعرفنا متغير randobj من نوع مولد رقم عشوائي (random)

في هذا السطر

n1 = randobj.next(0, nm)نتيجة n1 تساوي توليد رقم عشوائي بين قيمتين (0و1000)
حيث ان 1000 متغير nm

لنفترض ناتج متغير n1 يساوي 300

في هذا السطر

n2 = randobj.next(0, nm - n1)نتيجة n2 تساوي توليد رقم عشوائي بين قيمتين (0و700)
حيث ان 700 نتيجة عملية طرح متغير n1 من nm
(1000-300)

لنفترض ناتج متغير n2 يساوي 200

في هذا السطر

n3 = randObj.Next(0, nm - (n1 + n2))نتيجة n3 تساوي توليد رقم عشوائي بين قيمتين (0و500)
حيث ان 500 نتيجة عملية طرح متغيرين n1+n2 من nm
(1000-(200+300))

لنفترض ناتج متغير n3 يساوي 100

وفي السطر الاخير
نتيجة n4 تساوي عملية طرح متغيرات n1+n2+n3 من nm
(1000-(200+300+100)) = 400

اتمنى تكون المعلومة اوصلت واسف على الاطالة :victory:

:nice: بالتوفيق

كبير المتداولين
02-11-2010, 08:25 AM
الله يجزاك الخير ايه جذي وضحت الرؤيه بشكل كامل

ماقصرت اخوي ولد العلي كفيت ووفيت

في ميزان حسناتك الله يوفقك يارب