شما این فایل رو دانلود کنید و پس از اکسترکت در پوشه tp\units کپی کنید ، حالا بدین ترتیب کد نویسی کنید :نقل قول:
کد:Program Test;
Uses newdelay,crt;
Var
...
Begin
...
...
clrscr;
End.
کد:http://karimi1366.persiangig.com/NEWDELAY.zip
Printable View
شما این فایل رو دانلود کنید و پس از اکسترکت در پوشه tp\units کپی کنید ، حالا بدین ترتیب کد نویسی کنید :نقل قول:
کد:Program Test;
Uses newdelay,crt;
Var
...
Begin
...
...
clrscr;
End.
کد:http://karimi1366.persiangig.com/NEWDELAY.zip
سلام.نقل قول:
دستتون درد نکنه.
ولی درست و اصلش همونیه که توی پست قبل گفتم.
در واقع باید اونجوری بنویسیم... راهی هست؟؟
کمک خیلی فوری
یه برنامه تو پاسکال بنویسيد که ضرب دو ماتریس 7*7 رو حساب کنه
خواهشا از مهندسین عزیز میخوام کمک کنین
راستش حال کد گذاشتن ندارم اما روش رو میگم .
دو تا آرایه 7*7 تعریف کن.
دو مرتبه از حلقه for تو در تو برای پر کردن آرایه ها استفاده کن.
بعدش هم که با توجه به فرمول محاسبه ، حسابش کن.
یک دونه قبلا نوشته ماله 2*2
می تونه راحت این کد رو به هر ماتریسی تبدیل کنی با عوض کردن مقدار های قسمت const توجه کن که r مخخف row هست یعنی ردیف و c هم مخفف column به معنی ستون.1و2 همم برای ماتریس اول و دومکد:program matrix;
uses crt;
const
r1 = 7;
c1 = 7;
c2 =7;
r2 = 7;
type
arr1 = array[1..r1,1..c1] of integer;
arr2 = array[1..r2,1..c2] of integer;
arr3 = array[1..r1,1..c2] of integer;
var
x : arr1;
y : arr2;
z : arr3;
i,j : integer;
{start Procedure}
procedure multmatrix(row1,row2,col1,col2 : integer;m1 : arr1;m2 : arr2;var m3 : arr3);
var i,j,k : integer;
begin
for i := 1 to row1 do
for j := 1 to col2 do
begin
z[i,j] := 0;
for k := 1 to col1 do begin
z[i,j] := z[i,j] + m1[i,k] * m2[k,j] ;
end;
end;
end;
{end procedure}
begin
clrscr;
for i := 1 to r1 do
for j := 1 to c1 do
begin
write('enter x[',i,',',j,'] : ');
readln(x[i,j]);
end;
for i := 1 to r2 do
for j := 1 to c2 do
begin
write('enter y[',i,',',j,'] : ');
readln(y[i,j]);
end;
multmatrix(r1,r2,c1,c2,x,y,z);
writeln;
writeln('Result =') ;
for i := 1 to r1 do begin
write(' |');
for j := 1 to c2 do
begin
write(z[i,j]:6);
end;
writeln(' |');
end;
readln;
end.
:11: تفدیم شما !
دو تا آرایه 7*7 تعریف کن.
دو مرتبه از حلقه for تو در تو برای پر کردن آرایه ها استفاده کن.
بعدش هم که با توجه به فرمول محاسبه ، حسابش کن.
یک دونه قبلا نوشته ماله ماتریس 2*2:
می تونه راحت این کد رو به هر ماتریسی تبدیل کنی با عوض کردن مقدار های قسمت const توجه کن که r مخخف row هست یعنی ردیف و c هم مخفف column به معنی ستون.1و2 همم برای ماتریس اول و دوم+ یک خوذد دست کاری تو شکل دستورات writeکد:program matrix;
uses crt;
const
r1 = 2;
c1 = 2;
c2 =2;
r2 = 2;
type
arr1 = array[1..r1,1..c1] of integer;
arr2 = array[1..r2,1..c2] of integer;
arr3 = array[1..r1,1..c2] of integer;
var
x : arr1;
y : arr2;
z : arr3;
i,j : integer;
{start Procedure}
procedure multmatrix(row1,row2,col1,col2 : integer;m1 : arr1;m2 : arr2;var m3 : arr3);
var i,j,k : integer;
begin
for i := 1 to row1 do
for j := 1 to col2 do
begin
z[i,j] := 0;
for k := 1 to col1 do begin
z[i,j] := z[i,j] + m1[i,k] * m2[k,j] ;
end;
end;
end;
{end procedure}
begin
clrscr;
for i := 1 to r1 do
for j := 1 to c1 do
begin
write('enter x[',i,',',j,'] : ');
readln(x[i,j]);
end;
for i := 1 to r2 do
for j := 1 to c2 do
begin
write('enter y[',i,',',j,'] : ');
readln(y[i,j]);
end;
multmatrix(r1,r2,c1,c2,x,y,z);
writeln;
writeln('Result =') ;
for i := 1 to r1 do begin
write(' |');
for j := 1 to c2 do
begin
write(z[i,j]:6);
end;
writeln(' |');
end;
readln;
end.
:11: تفدیم شما !
نقل قول:
سلام
دوست عزیز
خیلی ممنون به خاطر پاسخ سریع !
یک سوال ( پروژه ) برای زبان پاسکال
خواهشا کمک کنین
برنامه ای بنویسید که ماتریس A7*7را زا ورودی دریافت کند و آن را
مطابق شکل زیر
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
به صورت مار پیچی مورد پیمایش قرار داده و
محتویات آن را در خانه های 1 تا 49 بردار B قرار دهد و بردار B را
در خروجی چاپ کند
سلام
این الگوریتم خوندنت از ماتریسه.
خودت زحمت بقیه جاهاش رو بکش.
L یه شمارنده و n تعداد سطر های ماتریسه شماست.
موفق باشی.:31:کد:k:=0;
l:=0;
n:=7;
while (شرط)
Begin
for i:= l to l
for j=l to n-l
MyArray[k]:=cell[i,j];
for j:=n-l to n-l
for i:=l+1 to n-l
MyArray[k+I]:=cell[i,j];
for i:= n-l to n-l
for j:= n-l-1 to l
MyArray[k]:=cell[i,j];
for j:= l to l
for i:=n-l-1 to l+1
MyArray[k]:=cell[i,j];
l:=l+1;
end;
لطفا یه کم بیشتر توضیح بده
تا شنبه نیاز دارم
نقل قول:
کد:k:=0;
l:=0;
n:=7;
while (شرط)
Begin
for i:= l to l
for j=l to n-l
MyArray[k]:=cell[i,j];
for j:=n-l to n-l
for i:=l+1 to n-l
MyArray[k+I]:=cell[i,j];
for i:= n-l to n-l
for j:= n-l-1 to l
MyArray[k]:=cell[i,j];
for j:= l to l
for i:=n-l-1 to l+1
MyArray[k]:=cell[i,j];
l:=l+1;
end;
ببین دوست من ، از اونجایی که ماتریس دو بعد دارد ، بنابرابن برای دسترسی به عناصر اش نیازمند دو اندیش هستیم مثلا اولین عنصر دارای اندیس (1.1) است ، برای اینکه ماتریس مورد پیمایش قرار گیرد از حلقه for تودرتو استفاده میشود ،بدین ترتیب درون حلفه ما میتوانیم اندیس ها به صورت متوالی و صعودی داشته باشیم ، و داشتن اندیس= پیمایش ماتریس.نقل قول:
لطفا یه کم بیشتر توضیح بده
متوجه شدید دوست عزیز.