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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2013, 10:03   #1
adaptes
Пользователь
 
Регистрация: 04.12.2013
Сообщений: 25
По умолчанию двумерный массив

помогите пожалуйста мне нужно объяснить почему везде стоит n-1

Код:
program Project6; {вариант 4}
{$APPTYPE CONSOLE}
uses
  sysutils,
  windows;

label sle;
const n=4;
par=(n*4);
type matriz=array[1..n,1..n] of integer;
var i,j,l,k:integer;
mas:matriz;
im:array[1..par] of integer;
procedure vvod(var vmas:matriz);
begin
setconsolecp (1251);
setconsoleoutputcp (1251);
writeln('вводим элементы массива. размерность [',n,',',n,']');
for i:=1 to n do
for j:=1 to n do
begin
write('введите элемент [',i,',',j,']=');
readln(vmas[i,j]);
end;
end;
procedure print(vmas:matriz);
begin
writeln('ваш массив имеет вид');
for i:=1 to n do
begin
for j:=1 to n do
begin
write(' ',vmas[i,j],' ');
end;
writeln;
end;
end;
begin
vvod(mas);
for j:=1 to n do begin
 for i:=1 to n-1 do begin
  for k:=1 to n-1 do
   if mas[k,j]<mas[k+1,j] then begin
    l:=mas[k+1,j];
    mas[k+1,j]:=mas[k,j];
    mas[k,j]:=l;
   end;
 end;
end;
print(mas);
writeln('программа закончена. нажмите enter.');
readln;
end.
тоесть почему мы пишем n-1 и по какой причине
adaptes вне форума Ответить с цитированием
Старый 30.12.2013, 10:13   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

это у Вас какая-то своеобразная реализация сортировки обменами..
а n-1 написано, чтобы нормально сработал код:
Цитата:
Код:
if mas[k,j]<mas[k+1,j] then begin
чтобы k+1 не "вылезно" за границу массива, поэтому цикл и крутим до n-1


p.s. мне ваш вариант сортировки не нравится. Какой-то кривой он
я бы по другому написал...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.12.2013, 16:58   #3
vvmcpp
Форумчанин
 
Аватар для vvmcpp
 
Регистрация: 11.12.2010
Сообщений: 116
По умолчанию

Цитата:
Сообщение от adaptes Посмотреть сообщение
тоесть почему мы пишем n-1 и по какой причине
Чтобы не выйти за границы массива
vvmcpp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив развернуть в одномерный массив по строкам[QBASIC] TrueStyle777 Помощь студентам 3 29.05.2013 21:56
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
двумерный массив Ann_Sh Помощь студентам 2 26.02.2011 13:18
Двумерный массив Анастасия18 Помощь студентам 2 25.02.2011 17:52
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40