问pascal语言矩阵怎么编?,希望写下每步的意思
program t1;
type arr=array[1..4] of integer;
var a,b:array[0..100,0..100] of integer;
i,j,k,l,m,n:integer;
procedure work;
var i,j,bj,bj1,m,k1,k2,k,j1,j2,j3,j4:integer;
r,p:arr;
begin
k1:=1; k2:=0; k:=0;
for i:=1 to n div 2 do
begin
r[1]:=n-2*(i-1);
r[2]:=r[1]-1;
r[3]:=r[2];
r[4]:=r[2]-1;
for j1:=1 to r[1] do
begin
k:=k+1;
k2:=k2+1;
a[k1,k2]:=k;
end;
for j2:=1 to r[2] do
begin
k:=k+1;
k1:=k1+1;
a[k1,k2]:=k;
end;
for j3:=1 to r[3] do
begin
k:=k+1;
k2:=k2-1;
a[k1,k2]:=k;
end;
for j4:=1 to r[4] do
begin
k:=k+1;
k1:=k1-1;
a[k1,k2]:=k;
end;
end;
if n mod 2=1 then
a[n div 2+1,n div 2+1]:=k+1
end;
begin
assign(input,'sxjz.in');
reset(input);
assign(output,'sxjz.out');
rewrite(output);
readln(n);
work;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.
program latin;
var a,b:array [1..9,1..9]of boolean;
g:array [1..9,1..9] of byte;
t,s,h,n:integer;
procedure print;
var i,j:integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
write(g[i,j]:4);
writeln;
end;
halt;
end;
procedure rp(t,s,h:integer);
var i,j:integer;
begin
if t>n*n then print
else for i:=1 to n do
if a[s,i] and b[h,i] then
begin
a[s,i]:=false;
b[h,i]:=false;
g[s,h]:=i;
if t mod n=0 then rp(t+1,s+1,1)
else rp(t+1,s,h+1);
a[s,i]:=true;
b[h,i]:=true;
end;
end;
begin
readln(n);
fillchar(a,sizeof(a),true);
fillchar(b,sizeof(b),true);
rp(1,1,1);
readln;
end.
1.输入矩阵a
2.用循环结构a for do
3.用循环结构把a用输出b
4.输出b矩阵
编一个转置MXN阶矩阵的程序
4 -5 6 12 4 0 3
0 1 22 9 变成 -5 1 15
3 15 4 10 6 22 4
12 9 10
原矩阵 转置后的矩阵
program trans(input,output);
const
M=3;
N=4;
var
i,j:integer;
a:ARRAY [1..M, 1..N]OF REAL;
b:ARRAY [1..N, 1..M]OF REAL;
begin
writeln('Input the matrix line by line:');
for i:=1 to M do
begin
for j:=1 to N do
read(a[i,j]);
readln;
end;
for i:=1 to N do
for j:=1 to M do
b[i,j]:=a[j,i];
writeln('After transpose,the matrix is:');
for i:=1 to N do
begin
for j:=1 to M do
write(b[i,j]:6:2);
writeln;
end;
end.
最好用二维数组。
program matrix;
var a:array[1..10,1..10]of integer;
i,j:integer;
begin
for i:=1 to 10 do
for j:=1 to 10 do
read(a[i,j]);
.....
end.
当然用二维数组方便快捷,当然也可以用一维数组,你想用什么都可以,首选二维。算你问对了人,我是PASCAL高手
求PASCAL的算法
求PASCAL的基础算法,如贪心动态规划等等,越多越好,要详细的啊好的加分我的邮箱:sunmi2@126.com... 求PASCAL的基础算法,如贪心 动态规划等等,越多越好,...学习计算机语言不是学习的最终目的。语言是描述的工具,如何灵活地运用语言工具,设计和编写能解决实际问题的程序,算法是程序设计的基础。算法的作用是什么呢?著名...
pascal语言高手come on
1.var a,b,i,j:integer;begin a:=81;b:=4;writeln(a);for i:=1 to 4 do begin a:=a div 3;writeln(a);end;2.var i,N:integer; fd:boolean;A:array[1..100] of integer;B:array[0..9,0..9] of integer;Begin fillchar(B,sizeof(B),0);{数组B初值置为0} write('N...
请给几个搜索的题目(Pascal)
请给几个搜索的题目(Pascal) 我来答 2个回答 #热议# 如何缓解焦虑情绪?lianghaoluan 2008-04-13 知道答主 回答量:82 采纳率:0% 帮助的人:22.4万 我也去答题访问个人页 展开全部 一、c语言实现八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯...
PASCAL拓扑排序~~
拓扑排序是图论的基本算法之一;做一件事情,比如盖新房子,会分成很多工作:买地,买砖,打桩,砌砖,粉刷,放家具...但是这些工作是有一定顺序的,比如说不可能砖都没砌好就开始粉刷,盖房必须在买地买砖都完成后才能开始..所以对于一件事我们总要确定工作顺序,确定这个顺序的过程就是拓扑排序。算法...
写一个程序球3*3矩阵二维数组上三角元素和
pascal语言的:program ex;type sz=array[1..3,1..3]of byte;var s:sz;j,k,g:byte;begin for j:=1 to 3 do for k:=1 to 3 do read(s[j,k]);g:=0;for j:=1 to 3 do for k:=1 to (3-j+1) do g:=g+s[j,k];writeln(g);readln;end.随手打的没编译 ...
急求pascal初中普及组资料
就要参加比赛了大家有什么pascal复习资料计算机基础知识大纲会考到的概念试卷什么的尽管向上贴分不是问题拜托了!!邮箱422043491@qq.comQQ:4220434... 就要... 1.基本题(考语言本身,尤其是循环嵌套。1999年初中组)Program excpl;var x, y, y1, jk, j1, g, e: Integer; a: array[1..20] of 0.....
第十四届全国青少年信息学奥林匹克联赛初赛
提高组 P语言第十四届全国青少年信息学奥林匹克联赛初赛试题( 提高组 Pascal语言 二小时完成 )●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●一、单项选择题(共10题,每题1.5分,共计15分。每题有且仅有一个正确答案)。1.在以下各项中,( )不是操作系统软件。A.Solaris B.Linux C.Sybase ...
pascal中图的广度优先遍历程序中的assign()和reset()
1 assign(input,'bfs.in');reset(input)意思是关联名叫 bfs.in的文件,reset(input)是准备读操作,前提是必须有 bfs.in文件,不然会RE的。2 键盘读入要麻烦,noip都用文件操作的。3 广搜层数较多,所以用递归好点 至于'bfs.in'文件的内容,就是本来你用键盘读入的东西(子程序不知道,所以无法...
free pascal 是什么
Free Pascal是个由国际组织开发的完全的win32的pascal语言编译器,类似delphi,可编写windows程序。目前,该项目的网站为www.freepascal.org,最新版本为2系列。此前被广泛使用的PASCAL编译器普遍为Turbo Pascal & Borland pascal。但是它们可用的空间十分有限。而Free Pascal理论上可以使用4GB内存。所以在利用...
用pascal语言二维数组解题
把你写的贴出来看看!下面是一种方法:var a:array[1..50,1..50] of integer;i,j,n:integer;begin readln(n);for i:=1 to n do for j:=1 to n do a[i,j]:=i+j;for i:=1 to n do begin for j:=1 to n do write(a[i,j]:3);writeln;end;end.
衡屠孚宁: program t1; type arr=array[1..4] of integer; var a,b:array[0..100,0..100] of integer; i,j,k,l,m,n:integer; procedure work; var i,j,bj,bj1,m,k1,k2,k,j1,j2,j3,j4:integer; r,p:arr; begin k1:=1; k2:=0; k:=0; for i:=1 to n div 2 do begin r[1]:=n-2*(i-1); r[2]:=r[1]-1; r[3]:=r[2]...
沙河口区17286621624: PASCAL矩阵 - ?
衡屠孚宁: program p4; const n=4;m=5; var a:array[1..n,1..m] of word; b,f:array[1..n] of word; c,g:array[1..m] of word; d,e,i,j:integer; begin assign(input,'p4.in');reset(input); assign(output,'p4.out');rewrite(output); for i:=1 to n do for j:= 1 to m do read(a[i,j]); for i:=1 ...
沙河口区17286621624: pascal拉丁方阵怎么编?要程序.二维数组的,不要过程与函数. - ?
衡屠孚宁: 如果只给出一个最标准的拉丁方阵,那么就很容易:var i,j,n:integer; a:array [1..1000,1..1000] of integer; begin readln(n); for i:=1 to n do begin for j:=i to n do a[i,j-i+1]:=j; for j:=1 to i-1 do a[i,n-i+j+1]:=j; end; for i:=1 to n do begin for j:=1 to n do write(a[i,j],' '); writeln; end; end. 望采纳!!如果想要不用开数组的标准拉丁方阵再追问!
沙河口区17286621624: 用pascal编程"求一个矩阵的转置矩阵" - ?
衡屠孚宁: 矩阵的转置 1 2 3 4 5 6 7 8 9 10 11 12 转置为 1 4 7 10 2 5 8 11 3 9 10 12 假如矩阵已在A数组中,通过以下循环即可将其转置到B数组中. for i:=1 to 3 dofor j:=1 to 4 dob[j,i]:=a[i,j]; 完成后即可打印 当然之前是要声明变量i j 的,还有要声明两个...
沙河口区17286621624: pascal矩阵?
衡屠孚宁: 1 3 42 5 86 7 9输出这个矩阵么?程序如下:var a:array[1..3,1..3]of integer; i,j:integer;begina[1,1]:=1;a[1,2]:=3;a[1,3]:=4;a[2,1]:=2;a[2,2]:=5;a[2,3]:=8;a[3,1]:=6;a[3,2]:=7;a[3,3]:=9;for i:=1 to 3 do beginfor j:=1 to 3 do write(a[i,j],' ');writeln;end;end. 希望对您有帮助!
沙河口区17286621624: 如何用pascal语言二维数组打出如下方阵 n=4时 10 11 12 1 9 16 13 2 8 15 14 3 7 - ?
衡屠孚宁: var f:array[1..100,1..100] of integer; i,,j,k,n:integer; begin readln(n) for i:=1 to n do for j:=1 to n do read(f[n,n]);//读入数据 for i:=1 to n do begin for j:=1 to n do write(f[n,n]);//输出 writeln;//换行 end; end.
沙河口区17286621624: Pascal 矩阵乘法 - ?
衡屠孚宁: program juzhen; var a,b,c:array[1..100,1..100] of integer; m,n,h,i,j,s,k:integer; begin write('m=');read(m); write('n=');read(n); write('h=');read(h); writeln('Input A:'); for i:=1 to m do for j:=1 to n do read(a[i,j]); writeln('Input B:'); for i:=1 to n do for j:=1 to h do ...
沙河口区17286621624: Pascal问题:矩阵乘法 - ?
衡屠孚宁: var a,b,c,i,j,k:longint; x,y,f:array[0..2000,0..2000]of longint; begin read(a); read(b); read(c); for i:=1 to a do for j:=1 to b do read(x[i,j]); for i:=1 to b do for j:=1 to c do read(y[i,j]); writeln(a,' ',c); for i:=1 to a do begin for j:=1 to c do begin for k:=1 to b do f[i,j]:...
沙河口区17286621624: PASCAL的程序代码 - ?
衡屠孚宁: 这道题有两种算法,第一种是用for语句,第二种是用递归(不知道楼主学了没有),具体见下:一、for语句 参考程序:var f:array[0..10000]of longint; //数组开到多少自己定(我是开到10000,要注意从0开始) n,x,i:longint; begin readln(n,x); ...
沙河口区17286621624: pascal螺旋矩阵 - ?
衡屠孚宁: var n,a,b:integer; begin read(n); a:=1; b:=0; for a:= 1 to n do repeat write(chr(ord(a)+b)); b:=b+1; until b>n;b:=0;writeln; end.