ورود

نسخه کامل مشاهده نسخه کامل : یه سوال در مورد پاسکال



Naser_helboy
29-04-2007, 20:41
با عرض سلام خدمت دوستان
من یه برنامه باید بنویسم که یه ماتریس n*n رو بگیره و تشخیص بده که آیا این ماتریس سه قطری یا نه؟
البته خودم نوشتم ولی یه اشکال داره

خوب حالا فرض کنیم یه ماتریس 4*4 رو می خواییم وارد کنیم


1 1 0 0
1 1 1 0
0 1 1 1
0 0 1 1

ماتریس بالا یه ماتریس سه قطریه (نه بابا راست گفتی!):18:
ولی وقتی این ماتریس رو هم میدی میگه سه قطریه


1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

در صورتی که اینجوری نباید باشه
اینم برنامه ای که من نوشتم



program 3ghotri;
a:array[1..20,1..20] of integer;
i,j,n:integer;
flag:boolean;
begin
flag:=true;
write('Enter n');
read(n);
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
for i:=1 to n do
for j:=1 to n do
begin
if (i<>j) and (i+1<>j) and (i-1<>j) then
if a[i,j]<>0 then
flag:=false;
end;
if flag=false then
writeln('matris 3 ghotri nist');
else
writeln('matris 3 ghotri ast');
readln;
readln;
end.

hamidreza_buddy
29-04-2007, 21:05
واسه اینه که کد شما فقط عناصر خارج از سه تا قطر رو چک می کنه. مثلاً
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
رو سه قطری در نظر میگیره. چون اصلاً سه تا قطر وسطو نگاه نمی کنه. باید کدت اینجوری باشه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نمیدونم دستورش درسته یا نه. چون پاسکال بلد نیستم.

Naser_helboy
29-04-2007, 23:53
خیلی ممنون
ولی جواب نداد بازم ماتریس قطری رو سه قطری حساب می کنه

Naser_helboy
29-04-2007, 23:57
راستی اون ماتریسها اینجوری بود



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Naser_helboy
30-04-2007, 18:35
بابا کسی نیست به ما کمک کنه

برا اساتید خیلی سادسا

amirqom
04-05-2007, 15:55
سلام دوستان عزیز
من هم یک برنامه میخواهم که یک عدد را بگیرد و آن را تبدیل به حروف کند.
ممنون.

Naser_helboy
05-05-2007, 17:53
ببین میشه یکم بیشنر توضیح بدی؟
شاید خودم کمکت کردم

amirqom
09-05-2007, 09:45
سلام دوستان عزیز
من هم یک برنامه میخواهم که یک عدد را بگیرد و آن را تبدیل به حروف کند.
یعنی 1254=هزار و دویست و پنجاه و چهار