behnambest2000
شنبه 22 بهمن 1390, 23:45 عصر
سلام دوستان خسته نباشید یه پروژه پاسکال داشتم که ازش سر در نیاوردم خواستم اگه می شه راهمایی کنید .
برنامه ای که باید بنویسیم اینه که گفته یه عدد longint رو به صورت رندوم ایجاد کنید (تعداد ارقام رو نمیدونیم)بعد ارقام اون رو با هم جمع کنید و حاصل جمع رو در خروجی چاپ کنید اگر حاصل از یک رقم بیشتر بود دوباره این کار رو تکرار کنید.
pesarake asheg
یک شنبه 23 بهمن 1390, 00:25 صبح
از تابع Randomize استفاده کنین
عقاب سیاه
یک شنبه 23 بهمن 1390, 00:37 صبح
بعدشم فکر کنم با یه حلقه که به تعداد ارقام اون عدد تکرار می شه راحت می تونین اونا را باهم جمع کنید
بهروز عباسی
یک شنبه 23 بهمن 1390, 00:37 صبح
درود به شما دوست عزیز
من این کد دلفی رو برای تولید اتفاقی پسورد دم دست داشتم شاید بدردت بخوره
function GeneratePass(syllables, numbers: Byte): string;
function Replicate(Caracter: string; Quant: Integer): string;
var
I: Integer;
begin
Result := '';
for I := 1 to Quant do
Result := Result + Caracter;
end;
const
conso: array [0..19] of Char = ('b', 'c', 'd', 'f', 'g', 'h', 'j',
'k', 'l', 'm', 'n', 'p', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z');
vocal: array [0..4] of Char = ('a', 'e', 'i', 'o', 'u');
var
i: Integer;
si, sf: Longint;
n: string;
begin
Result := '';
Randomize;
if syllables <> 0 then
for i := 1 to syllables do
begin
Result := Result + conso[Random(19)];
Result := Result + vocal[Random(4)];
end;
if numbers = 1 then Result := Result + IntToStr(Random(9))
else if numbers >= 2 then
begin
if numbers > 9 then numbers := 9;
si := StrToInt('1' + Replicate('0', numbers - 1));
sf := StrToInt(Replicate('9', numbers));
n := FloatToStr(si + Random(sf));
Result := Result + Copy(n, 0,numbers);
end;
end;
Mahmood_M
یک شنبه 23 بهمن 1390, 01:17 صبح
ابتدا یک عدد تصادفی ایجاد می کنید ، حاصل رو به رشته تبدیل می کنید ( IntToStr ) بعد طول رشته رو دریافت میکنید ( Length ) ، یک متغیر برای مجموع ارقام درنظر میگیرید و در ابتدا بهش مقدار صفر می دید ، بعد در یک حلقه for از 1 تا "طول رشته" میرید و هر بار حرف n ام رشته که همون رقم n ام عدد هست رو می گیرید و به عدد تبدیل می کنید ( StrToInt ) و با متغیر مربوط به جمع ارقام ، جمع می کنید و درون خود متغیر مربوط به جمع ارقام قرار می دید
برای اینکه اگر حاصل یک عدد تک رقمی بود ، دوباره مراحل بالا انجام بشه ، مراحل بالا رو درون یک حلقه ی Repeat - Until انجام بدید ، به این صورت که در شرط حلقه عدد حاصل رو به رشته تبدیل کنید و شرط اجرای حلقه رو بزرگتر از یک بودن طول این رشته در نظر بگیرید
متاسفانه مجبورم چند نکته رو تذکر بدم :
1. برای تاپیکی که ایجاد می کنید عنوان مناسب انتخاب کنید ، عنوانی که توضیح کوتاهی در مورد سئوالی که می خواید بپرسید بده
2. درخواست انجام پروژه های دانشجویی در این سایت ممنوع است ، با توجه به توضیحات بالا ساخت پروژه رو شروع کنید و هر جا که مشکل داشتید مشکلتون رو به صورت جزئی تر و مطرح کنید
موفق باشید ...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.