PDA

View Full Version : سوال: مثلث خيام



اوبالیت به بو
یک شنبه 12 خرداد 1387, 13:44 عصر
سلام
من اومدم يه آرايه دو بعدي ساختم تا بتونم عناصر درون مثلث رو ذخيره كنم. تا اينجا هيچ مشكلي ندارم. مشكل من اين هستش كه ضلع سمت راست مثلثم هميشه مقدار 0 رو مي ده در حالي كه بايد 1 باشه.
اين كد من هستش به نظر شما دليلش چي مي تونه باشه؟


program khayam*Compeletetriangle;
uses crt;
var
tr:array[0..10,0..10] of integer;
b,c:integer;
begin
for b:=1 to 10 do tr[b,0]:=1;
for b:=1 to 10 do
for c:=1 to b do tr[b,c]:=tr[b-1,c]+tr[b-1,c-1];
clrscr;
for b:=0 to 10 do
for c:=0 to b do
begin
gotoxy(36+c*6-3*b+1,2*b+1);
write(tr[b,c]:3,' ');
end;
readln;
end.

B_YAGHOBI
یک شنبه 12 خرداد 1387, 14:22 عصر
program Project6; {$APPTYPE CONSOLE} uses SysUtils ; var a: array [1..10,1..50] of integer; i,n,j:integer; Begin clrscr; writeln; write(' ENETER ONE NUMBER OF 1..10 : '); readln(n); For i:=1 To 50 Do if i=25 Then a[1,i]:=1 Else a[1,i]:=0; For i:=1 To 10 Do a[i,1]:=0; For j:=2 To n Do For i:=2 To 50 Do a[j,i]:=a[j-1,i-1]+a[j-1,i+1]; clrscr; For i:=1 To n Do Begin writeln; For j:=1 To 50 Do If a[i,j]=0 Then write(' ') Else write(a[i,j]:3); End ; readln; End.

اوبالیت به بو
یک شنبه 12 خرداد 1387, 19:23 عصر
مشكلم رو فهميدم:

for b:=1 to 10 do tr[b,0]:=1;

بايد حلقه از صفر شروع بشه.
كد صحيح:

program khayam*Compeletetriangle;
uses crt;
var
tr:array[0..10,0..10] of integer;
b,c:integer;
begin
for b:=0 to 10 do tr[b,0]:=1;
for b:=1 to 10 do
for c:=1 to b do tr[b,c]:=tr[b-1,c]+tr[b-1,c-1];
clrscr;
for b:=0 to 10 do
for c:=0 to b do
begin
gotoxy(36+c*6-3*b+1,2*b+1);
write(tr[b,c]:3,' ');
end;
readln;
end.

sajjadrad
دوشنبه 30 آذر 1388, 03:10 صبح
سلام دوست عزیز من این برنامه رو نوشتم اگه کمک کنه خوشحال می شم...


program khayam2;
uses crt;
var
a:array[1..100,1..100]of integer;
i,j,n,s:integer;
begin
clrscr;
writeln(' Mosalas Khayam version 1.2 Beta');
writeln(' Written By SAJJAD RAD');
writeln('(c)2009 Radtech Lab.All rights reserved.');
writeln(' sajjad.273@gmail.com');
writeln;
writeln;
textcolor(red);
writeln('Notice:This is a test program and have many problem!');
textcolor(white);
writeln;
writeln;
writeln('Please insert a number: (Range 1~12)');
readln(n);
clrscr;
writeln('Your Number=',n);
s:=36;
write(' ':s);
writeln('1':4);
a[1,1]:=1;
dec(s,2);
for i:=2 to n+1 do
begin
a[i,1]:=1;
write(' ':s);
write('1':4);
for j:=2 to i do
begin
a[i,j]:=a[i-1,j-1]+a[i-1,j];
write(a[i,j]:4);
end;
writeln;
dec(s,2);
end;
writeln;
writeln;
writeln;
textcolor(13);
writeln(' Mosalas Khayam version 1.2 Beta');
writeln(' Written By SAJJAD RAD');
writeln(' (c)2009 Radtech Lab.All rights reserved.');
writeln(' sajjad.273@gmail.com');
textcolor(7);
readln;
end.

بانوی ایران
پنج شنبه 03 دی 1388, 23:46 عصر
سلام دوستان
مثلث خيام رو به صورت دو بعدي نوشتم
ولي اگربخوايم با اريه هاي يه بعدي بنويسيم بايد چي كار كنيم
من اين به ذهنم رسيد
كه مثلا وقتي كاربر وارد ميكنه 4(4 خط داشته باشه)
ارايه مون 4 بار چاپ بشه يعني خط اول a0خط دومa0,a1خط سوم a0,a1,a2تا اخر
يعني به اين شكل
A0=1
A0=1 , a1=1
A0=1 , a1=a0+a1=2 , a2=1
A0=1, a1=a0+a1=3, a2=a1+a2=3, a3=1
كه البته اول a2محاسبه ميشه بعد a1

اول اينكه راهي كه به ذهن من رسيده درسته؟
اگر اره چجوري بنويسمش
در واقع مشكلم اينه كه حلقهforرو چجوري بزارم كه همش رو هي چاپ كنه

sajjadrad
چهارشنبه 16 دی 1388, 21:25 عصر
سلام دوستان
مثلث خيام رو به صورت دو بعدي نوشتم
ولي اگربخوايم با اريه هاي يه بعدي بنويسيم بايد چي كار كنيم
من اين به ذهنم رسيد
كه مثلا وقتي كاربر وارد ميكنه 4(4 خط داشته باشه)
ارايه مون 4 بار چاپ بشه يعني خط اول a0خط دومa0,a1خط سوم a0,a1,a2تا اخر
يعني به اين شكل
A0=1
A0=1 , a1=1
A0=1 , a1=a0+a1=2 , a2=1
A0=1, a1=a0+a1=3, a2=a1+a2=3, a3=1
كه البته اول a2محاسبه ميشه بعد a1

اول اينكه راهي كه به ذهن من رسيده درسته؟
اگر اره چجوري بنويسمش
در واقع مشكلم اينه كه حلقهforرو چجوري بزارم كه همش رو هي چاپ كنه

دوست عزیز تا اونجا که عقل من میکشه با ارایه تک بعدی نمیشه.چون a0 سطر اول شما با a0 سطر دوم فرقی نمیکنه.
شما باید بین عنصر اول سطر اول با عنصر اول سطر دوم فرقی رو قائل بشین...
و برای اینکار حتما باید از آرایه دو بعدی استفاده کنین...
روش فکر کنین شاید بشه با آرایه تکبعدی نوشت...:اشتباه:
اگه سوالی بود تا اونجایی که می تونم کمک می کنم...:قلب::قلب::قلب::قلب::لبخن د::لبخند:

asadegha
دوشنبه 13 دی 1389, 13:01 عصر
با يه آرايه تك بعدي هم مي شه. يكم فكرتو بكار بنداز