Skip to content

Instantly share code, notes, and snippets.

@San3ko
Last active December 10, 2015 04:38
Show Gist options
  • Save San3ko/4382372 to your computer and use it in GitHub Desktop.
Save San3ko/4382372 to your computer and use it in GitHub Desktop.
исправленная версия второй лабы
program PR1;
uses crt;
const n=5; m=5;
type mas= Array[1..n,1..m] of integer;
stroka= array[1..100] of string;
var
a:mas;
b:stroka;
Procedure menu;
begin
writeln('______________________menu');
writeln('1. vv_mas');
Writeln('2. viv_mas');
Writeln('3. a[i,j]^1/2;(-a[i,j])^2');
writeln('4. Srednee arefmeticheskoe');
writeln('5. max/min');
Writeln('6. Stoki');
Writeln('7. exit');
writeln;
writeln('#?');
end;
Procedure vvod;
var i,j,k:integer;
begin
for i:=1 to n do
for j:=1 to m do
begin
{a[i,j]:=-50+random(100);}
writeln(' Vvedite znachenie [', i, ':', j, ']:');
readln(k);
a[i,j]:=k;
end;
writeln('Operation complite. Press any key to continue');
readkey;
clrscr;
menu;
end;
Procedure vivod;
var i,j:integer;
begin
writeln;
writeln;
for i:=1 to n do begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
writeln('Operation complite. Press any key to continue');
readkey;
clrscr;
menu;
end;
Procedure kvkor_kvadr;
var i,j: integer;
x: real;
begin
writeln;
for i:=1 to n do begin
for j:=1 to m do begin
if abs(a[i,j])=a[i,j] then x:=sqrt(a[i,j]) else x:=SQR(a[i,j]);
write('(',a[i,j]:4,x:8:2,')');
end;
writeln;
end;
writeln('Operation complite. Press any key to continue');
readkey;
clrscr;
menu;
end;
Procedure max_min;
var i,j ,max,min: integer;
x: real;
begin
min:=a[1,1];
max:=a[1,1];
writeln;
for i:=1 to n do
for j:=2 to m do begin
if a[i,j]>max then max:=a[i,j];
if a[i,j]<min then min:=a[i,j];
end;
x:=abs(max/min);
writeln('Max:= ',max:4,' Min:= ',min);
writeln;
writeln('max>min v:= ', x:8:2,' raz');
writeln;
writeln('Operation complite. Press any key to continue');
readkey;
clrscr;
menu;
end;
Procedure sr_arefm;
var i,j,x,s,sj:integer;
sr:real;
begin
writeln;
writeln('#el',' x',' El','summ');
s:=0;
sr:=0;
x:=0;
sj:=0;
for i:=1 to n do
for j:=1 to m do begin
sj:=sj+1;
if (abs(a[i,j])=a[i,j]) and (sj mod 2 = 1) then
begin
s:=s+a[i,j];
x:=x+1;
writeln(sj:3,x:3,a[i,j]:3,s:4);
end;
end;
sr:=s/x;
writeln;
writeln('Srarefm:= ',sr:3:2);
writeln('Operation complite. Press any key to continue');
readkey;
clrscr;
menu;
end;
Procedure stroki;
var a:string;
i,j,k,l,p,s:integer;
begin
writeln('vv stoky(Slova razdeluat toliko probelom)');
readln(a);
l:=length(a);
j:=1;
for i:=1 to l do
if (a[i]=' ') or (i=l) then
begin
if i<>l then
begin
b[i]:=a[i];
k:=i-1;
end
else k:=i;
p:=j;
for s:=k downto j do
begin
b[p]:=a[s];
p:=p+1;
end;
j:=i+1;
end;
for i:=1 to l do
write(b[i]);
writeln;
writeln('Operation complite. Press any key to continue');
readkey;
clrscr;
menu;
end;
var i,j,k:integer;
begin
j:=0;
randomize;
repeat
clrscr;
menu;
if j=0 then
repeat
readln(k);
if (k<>1) and (k<>7)and(k<>6) then Writeln('Net znachenii elementov massiva. Zadaite massiv.') else j:=1;
until (k=1) or (k=7) or(k=6)
else
readln(k);
While (k<1)or(k>7) do
begin
Writeln('out of interval');
readln(k);
end;
case k of
1: vvod;
2: vivod;
3: kvkor_kvadr;
4: sr_arefm;
5: max_min;
6: stroki;
end;
until k=7;
end.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment