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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2013, 18:38   #1
Alesia_Lesia
Пользователь
 
Регистрация: 17.11.2013
Сообщений: 16
По умолчанию Упорядочить строки двумерного массива элементов типа Char по возрастанию их ординальных номеров методом прямого включения.

Нужно объяснить зачем тут нужны циклы repeat и каковы действия данной программы построчно,какие действия происходят в той или иной строке)
Код:
const nmax=20;
var a:array[1..nmax,1..nmax] of char;
    m,n,i,j,k:byte;
    x:char;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=chr(65+random(26));
    write(a[i,j]:2);
   end;
  writeln;
 end;
write('Нажмите Enter');
readln;
for i:=1 to m do
for j:=1 to n-1 do
for k:=j+1 to n do
if a[i,j]>a[i,k] then
 begin
  x:=a[i,j];
  a[i,j]:=a[i,k];
  a[i,k]:=x
 end;
writeln('Сортировка строк:');
for i:=1 to m do
 begin
  for j:=1 to n do
  write(a[i,j]:2);
  writeln
 end;
readln
end.

Последний раз редактировалось Stilet; 26.11.2013 в 18:50.
Alesia_Lesia вне форума Ответить с цитированием
Старый 27.11.2013, 06:00   #2
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Код:
const nmax=20; {константа nmax=20}
var a:array[1..nmax,1..nmax] of char;
    m,n,i,j,k:byte;
    x:char;
begin
clrscr;{очистка экрана}
randomize;{процедура для включения ГСЧ}

repeat {повторять}
write('Количество строк до ',nmax,' m=');
readln(m);
until m in [1..nmax];{пока m не попадет в интервал от 1 до nmax}
{штука для того что бы вводились корректные данные. программа не пойдет дальше пока введеное число не будет соответствовать требованиям}

{ниже аналогично}
repeat
write('Количество столбцов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 27.11.2013, 12:57   #3
Alesia_Lesia
Пользователь
 
Регистрация: 17.11.2013
Сообщений: 16
По умолчанию

это вы к чему скопировали?)
Alesia_Lesia вне форума Ответить с цитированием
Старый 27.11.2013, 12:59   #4
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Цитата:
это вы к чему скопировали?)
внимательнее смотрим на пост,а именно на {...}
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!
SaLoKiN вне форума Ответить с цитированием
Старый 27.11.2013, 16:51   #5
Alesia_Lesia
Пользователь
 
Регистрация: 17.11.2013
Сообщений: 16
По умолчанию

ой да,извините, всё правильно. А как можно объяснить дальнейший действия?т.е. почему именно такие действия мы выполняем?
Код:
write('Нажмите Enter');
readln;
for i:=1 to m do
for j:=1 to n-1 do   (зачем вычитаем 1 из n )
for k:=j+1 to n do   (зачем прибавляем 1 к j)
if a[i,j]>a[i,k] then  (для чего это сравнение) и т.д. т.е. как происходит сама сортировка?

 begin
  x:=a[i,j];
  a[i,j]:=a[i,k];
  a[i,k]:=x
 end;
writeln('Сортировка строк:');
for i:=1 to m do
 begin
  for j:=1 to n do
  write(a[i,j]:2);
  writeln
 end;
readln
end.


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

Модератор.

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


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны три массива. Упорядочить их по возрастанию элементов Новичёк_Delphi Помощь студентам 4 05.12.2012 21:27
C# сортировка методом прямого включения Numphaulia Помощь студентам 1 29.11.2012 21:49
Упорядочить вставкой строки массива по возрастанию элементов столбцов. Вадим Величко Помощь студентам 0 21.12.2011 17:15
Упорядочить строки массива по возрастанию их сумм Ворожея Помощь студентам 1 26.05.2011 20:54
Запись числа типа инт в ячейку двумерного массива типа char AxenicX Помощь студентам 1 25.09.2009 00:35