Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2009, 05:07   #1
[silver beast]
 
Аватар для [silver beast]
 
Регистрация: 20.01.2009
Сообщений: 7
Вопрос паскаль. массивы. объясните код.

program Lab4_obsch;
{$APPTYPE CONSOLE}
uses SysUtils;
const n=3;
m=3;
var
a: array [1..n,1..m] of integer;
g: array [1..n,1..m] of single;
i,j,k,ibldef,imin,sredn,contr,summ_ diag,x,nomer,imax:integer;
flag:boolean;
summa_obsch,ibl,gmin:single;
begin
clrscr;
randomize;
write ('Diapazon znachenij massiva : ');
readln (x);
writeln ('Massiv:');
contr:=0;

{Vvod massiva}
for i:=1 to n do
for j:=1 to m do
begin
a[i,j]:=random(x)-random(x);
end;

{Vivod massiva}
for i:=1 to n do
begin
for j:=1 to m do
if a[i,j]>0 then
write (' ',a[i,j],' ')
else
write (a[i,j],' ');
writeln;
end;

{Poisk max elementa massiva}
imax:=1;
for i:=1 to n do
begin
for j:=1 to m do
if a[i,j]>imax then
imax:=a[i,j];
end;
writeln ('Maximalnij element massiva - ',imax);

{Poisk min elementa massiva}
imin:=1;
for i:=1 to n do
begin
for j:=1 to m do
if a[i,j]<imin then
imin:=a[i,j];
end;
writeln ('Minimalnij element massiva - ',imin);


{Summa nije glavnoi diagonali}
summ_diag:=0;
for j:=1 to n do
begin
for i:=j+1 to m do
summ_diag:=summ_diag+a[i,j];
end;
writeln('Summa nije glavnoi diagonali = ',summ_diag);

{Obschaya summa}
summa_obsch:=0;
sredn:=0;
for i:=1 to n do
for j:=1 to m do
begin
sredn:=(sredn+a[i,j]);
end;
summa_obsch:=sredn/(m*n);
writeln ('Srednee arifmiti4eskoe = ',summa_obsch:2:2);

{Poisk indexov chisel blizaiIIIih k srednemu}
for i:=1 to n do
for j:=1 to n do
begin
g[i,j]:=abs(a[i,j]-summa_obsch);
end;
{writeln('Massiv raznoztey:');
for i:=1 to n do
begin
for j:=1 to n do
write (' ',g[i,j]:2:2);
writeln;
end;}
ibl:=x;{perevesti Gh v single. Kak?}
for i:=1 to n do
for j:=1 to n do
if (g[i,j]<ibl) then
ibl:=g[i,j];
writeln('Blij= ',ibl:2:2) ;
writeln ('Indexi elementov blij k srednemu:');
for i:=1 to n do
for j:=1 to n do
if (g[i,j]=ibl) then
begin
writeln ('i = ',i,' j = ',j);
end;
readln;
end.
[silver beast] вне форума Ответить с цитированием
Старый 21.01.2009, 05:29   #2
pomoshnic
Форумчанин
 
Аватар для pomoshnic
 
Регистрация: 16.11.2008
Сообщений: 192
По умолчанию

А что именно обьяснить, что делает эта программа?
pomoshnic вне форума Ответить с цитированием
Старый 21.01.2009, 06:22   #3
[silver beast]
 
Аватар для [silver beast]
 
Регистрация: 20.01.2009
Сообщений: 7
По умолчанию

ну, как работает. для чего нам нужен второй массив.
[silver beast] вне форума Ответить с цитированием
Старый 21.01.2009, 08:42   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Там же все черным по мятому написано:
Poisk indexov chisel blizaiIIIih k srednemu}
g[i,j]:=Модуль разности элемента массива А и общей суммы
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
массивы. паскаль. tanuschka Помощь студентам 7 05.10.2009 23:20
Паскаль. рекурсия. числа. объясните, как работает код [silver beast] Помощь студентам 2 21.01.2009 05:00
Объясните код Neymexa Общие вопросы по Java, Java SE, Kotlin 1 29.11.2008 02:33
Паскаль и массивы RamireZ Паскаль, Turbo Pascal, PascalABC.NET 7 24.10.2008 17:20
объясните код Rend1 Общие вопросы Delphi 18 01.02.2008 14:52