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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2015, 21:45   #1
anechka1034
Новичок
Джуниор
 
Регистрация: 19.03.2015
Сообщений: 1
По умолчанию Сортировка каждого второго элемента строки матрицы по возрастанию

Добрый вечер. Пожалуйста помогите весь инет уже облазила и голову сломала не могу выполнить второй пункт. С первым быстро разобралась, а вот сортировка не могу ...могу отполировать. элементы четных столбцов или строк но вот элементы с четным порядковым номером в строке ни как
Изображения
Тип файла: jpg IMG-20150317-WA0000.jpg (65.9 Кб, 124 просмотров)
anechka1034 вне форума Ответить с цитированием
Старый 19.03.2015, 21:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ппц... А че верх ногами не повернула? Так же читать удобнее. Мы ж в тилимилитрямдии учились.
Код:
for i:=1 to n do begin
 for j:=2 to m do begin  if not odd(j) then continue;
  for k:=2 to m do begin   if not odd(j) then continue;
   if abs(a[i,j])<abs(a[i,k]) then begin
    v:=a[i,j]; a[i,j]:=a[i,k]; a[i,k]:=v;
   end;
  end;
 end;
end;
n, m - Строки и столбцы матрицы
i, j , k - Счетчики циклов
v - Типа элемента матрицы.

Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.03.2015, 22:19   #3
юджик
 
Регистрация: 20.03.2015
Сообщений: 5
По умолчанию

такое же задание.....последовал твоему совету получилась фигня...
может где тупанул?!
Код:
uses
  SysUtils;

const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    i,j,n,x,k:integer;
begin
   repeat
    write('Порядок матрици n=');
     readln(n);
   until n in [1..nmax];
   writeln('Исходная матрица :');
   for i:=1 to n do
    begin
     for j:=1 to n do
      begin
       a[i,j]:=random(20)-5;
       write(a[i,j]:4);
      end;
     writeln;
    end;

      for i:=1 to n do begin
 for j:=2 to n do begin  if not odd(j) then continue;
  for k:=2 to n do begin   if not odd(j) then continue;
   if abs(a[i,j])<abs(a[i,k]) then begin
    x:=a[i,j]; a[i,j]:=a[i,k]; a[i,k]:=x;
   end;
  end;
 end;
end;
writeln('Отсортированные строки');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln
end;
readln
end.
Изображения
Тип файла: jpg сортировка.JPG (113.7 Кб, 120 просмотров)

Последний раз редактировалось Stilet; 21.03.2015 в 08:26.
юджик вне форума Ответить с цитированием
Старый 20.03.2015, 23:04   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
получилась фигня
Так то ж идея. Нужно как бы и подумать не много. Поменяй так:

for j:=2 to n-1 do begin if not odd(j) then continue;
for k:=j+1 to n do begin if not odd(k) then continue;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 20.03.2015 в 23:08.
Аватар вне форума Ответить с цитированием
Старый 21.03.2015, 20:48   #5
юджик
 
Регистрация: 20.03.2015
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Так то ж идея. Нужно как бы и подумать не много. Поменяй так:

for j:=2 to n-1 do begin if not odd(j) then continue;
for k:=j+1 to n do begin if not odd(k) then continue;
так вообще ничего не меняет
юджик вне форума Ответить с цитированием
Старый 21.03.2015, 20:58   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Меняет, только нечетные. Убери not перед odd в двух местах
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.03.2015, 19:43   #7
юджик
 
Регистрация: 20.03.2015
Сообщений: 5
Хорошо

Цитата:
Сообщение от Аватар Посмотреть сообщение
Меняет, только нечетные. Убери not перед odd в двух местах
СУПЕР ВСЕ РАБОТАЕТ. СПАСИБО!!!!
юджик вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упорядочить строки целочисленной прямоугольной матрицы по возрастанию количества одинаковых элементов в каждой строке. Pascal Леви Помощь студентам 6 24.01.2014 13:08
Найти наименьший элемент в каждой строке матрицы и упорядочить строки по возрастанию этих элементов winrey Паскаль, Turbo Pascal, PascalABC.NET 1 21.10.2012 15:20
Создайте квадратную матрицу, значение каждого элемента равно сумме номера строки и столбца C++ loloverg Помощь студентам 1 26.05.2010 21:28
(c++) Сортировка строк матрицы по возрастанию первых элементов Serg046 Помощь студентам 3 07.01.2010 23:17
Проверить, упорядочены ли по возрастанию элементы каждой строки матрицы (Pascal). cosa nostra Помощь студентам 1 11.12.2009 21:26