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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2017, 22:42   #1
CrisToPHeR
Новичок
Джуниор
 
Регистрация: 19.12.2017
Сообщений: 1
По умолчанию Помогите с объяснением программы ,пожалуйста

Код:
program Rab;
Uses Crt;
Type
strmenu=record
   x: integer;
   s: string[14];
   end;
Const
   kol=4;
   mas:array[1..kol] of strmenu=
   ((x:6; s:'Ввод данных'),
   (x:20; s:'Сортировка'),
   (x:33; s:'Вывод данных'),
   (x:48; s:'Выход'));
   const
   nmax=20;
Var
N1, i, max, min, raz, j, x, k, r, w, o,o1, q: integer;
a:array[1..nmax,1..nmax] of integer;
b:array[1..190] of integer;
z: integer;
pv,ps: integer;
n: integer;
count: integer;
ch: char;
M: integer;
Pwwod, Psort :byte;
procedure InputDan;
label M1;
   Begin
    clrscr;
    Writeln('Размер матрицы от 1 до ',nmax,'  n=');
 Readln(N1);
    clrscr;
    writeln('Введите пункт меню');
    writeln('1. Автоматический ввод');
    writeln('2. Ручной ввод');
    writeln('3. Выхож');
    M1: writeln('Введите пункт меню');
    readln(z);
    case z of
 1: begin
 pv:=0;
 begin
    randomize;
    for i:=1 to N1 do
    for j:=1 to N1 do
    a[j,i]:=random (99)+1;
    end;
    pv:=1;
    writeln('Матрица заполнена');
    end;
2: begin
pv:=0;
    for i:=1 to N1 do
    for j:=1 to N1 do
     begin
    write('a[',i,',',j,']=');
    readln(a[i,j]);
      end;
      pv:=1;
    end;
3: exit
   end;
   goto M1;
   end;
procedure SortDan;
   Begin
clrscr;
if pv=1 then begin
o:=0;
    for o1:=1 to N1 do begin
    o:=o+o1-1;
    end;
r:=1;
for i:=1 to N1 do
for j:=1 to N1 do
if (i<j) then begin
b[r]:=a[i,j];
r:=r+1;
end;
for q:=1 to o-1 do
for r := 1 to o-q do
if b[r] < b[r+1] then begin
w := b[r];
b[r] := b[r+1];
b[r+1] := w;
end;
ps:=1;
writeln('Сортировка данных прошла успешно');
    end
       else writeln('Данные не введены');
   writeln('Для выхода в меню нажмите Enter');
readln;
end;
procedure OutputDan;
   Begin
clrscr;
 if pv=1 then begin
   writeln('Исходные данные');
   for i:=1 to N1 do
   begin
   for j:=1 to N1 do
       write(a[i,j]:6);
       writeln
   end;
   if ps=1 then begin
writeln('Результат сортировки');
for r:=1 to o do
begin
write(' ',b[r]);
end;
writeln;
end
else
writeln('Сортировка не проведена ');
   repeat
writeln('Введите номер строки и столбца для обмена от 1 до ',N1);
readln(k);
until k in [1..n1];
for i:=1 to n1 do
 begin
  x:=a[k,i];
  a[k,i]:=a[i,k];
  a[i,k]:=x;
 end;
writeln('Обмен строки и столбца',k);
for i:=1 to n1 do
 begin
  for j:=1 to n1 do
  write(a[i,j]:4);
  writeln;
 end;
readln
  end;
   writeln('Для выхода в меню нажмите Enter');
   readln;
   end;  Begin
   n:=1;
   repeat
   textattr:=7;
   clrscr;
   for i:=1 to kol do
    begin
     gotoxy(mas[i].x,3);
     write(mas[i].s);
    end;
   textattr:=87;
   gotoxy(mas[n].x,3);
   write(mas[n].s);
   ch:=readkey;
   case ch of
   #13: case n of
   1: InputDan;
   2: SortDan;
   3: OutputDan;
  end;
#0:begin
    ch:=readkey;
    case ch of
    #77:if n<kol then
    n:=n+1
    else
    n:=1;
    #75:
    if n>1 then
    n:=n-1
    else
    n:=kol;
   end;
  end;
 end;
until(ch=#13)and(n=4)or(ch=#27);
textattr:=7;
clrscr;
end.
Развернуто,как возможно,заранее благодарен



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 19.12.2017 в 23:54.
CrisToPHeR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите пожалуйста с объяснением кода, что для чего нужно. VasyaSam Visual C++ 4 15.02.2014 18:47
помогите пожалуйста с объяснением кода что для чего. VasyaSam Visual C++ 2 22.12.2013 16:18
помогите пожалуйста с объяснением кода, что для чего нужно в этом моменте. VasyaSam Visual C++ 0 21.12.2013 19:14
Помогите, пожалуйста, в составлении программы Львёнок Помощь студентам 2 24.11.2007 11:51