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.
من یه برنامه باید بنویسم که یه ماتریس 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.