Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 22.12.2010, 23:00   #1 (permalink)
STALKER1992
Новичок
 
Регистрация: 21.12.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Обработка матриц

Люди глянте что не так не поиму чет!
Код:
program n10;
uses crt;
const n=10;
var
B:array[1..n, 1..n] of integer;
i,j,k,m:byte;
begin clrscr;
writeln('----исходная матрица B');
randomize;
For I:=1 to n do
For j:=1 to n do
b[i,j]:=Trunc(Random*90)+10;
For i:=1 to n do Begin
For j:=1 to n do
write (b[i,j],'  ');
writeln;
end;
    for i:=1 to n-1 do
    for j:=1 to n-1 do  begin
    if b[1,i]>b[1,i+1] then begin
          for m:=1 to n do begin
          k:=b[m,i];
          b[m,i]:=b[m,i+1];
          b[m,i+1]:=k;
              end;
            end;
           end;
writeln('-----отсортированная матрица B  ');
for i:=1 to n do   begin
for j:=1 to n do write(b[i,j],'  ');
writeln;
end;
end.
Заранее спасибо!
STALKER1992 вне форума   Ответить с цитированием

Старый 22.12.2010, 23:00
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Наверное проблема уже решена в похожих темах

Матрица. Как записать матрицу, составленную из трёх единичных матриц?
Обработка txt
Обработка алюминия
Обработка матриц. Паскаль
Обработка массивов

Старый 23.12.2010, 10:13   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

А где формулировка задания? Или Вы предлагаете нам восстанавливать задачу по неправильно работающей программе? Спасибо, конечно, но нам есть чем заняться.
Vladimir_S вне форума   Ответить с цитированием
Старый 23.12.2010, 10:16   #3 (permalink)
STALKER1992
Новичок
 
Регистрация: 21.12.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию забыл

Дана матрица K(nxn). Написать программу, которая упорядочивает столбцы этой матрицы по возрастанию.
STALKER1992 вне форума   Ответить с цитированием
Старый 23.12.2010, 10:28   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от STALKER1992 Посмотреть сообщение
Дана матрица K(nxn). Написать программу, которая упорядочивает столбцы этой матрицы по возрастанию.
По возрастанию чего?
Vladimir_S вне форума   Ответить с цитированием
Старый 23.12.2010, 11:29   #5 (permalink)
STALKER1992
Новичок
 
Регистрация: 21.12.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
По возрастанию чего?
ну я как понял чтобы первые элементы столбца шли по возратсанию типо так
4 12 45 64 75 88
46 45 76 57 24 75
32 45 7 32 67 54
STALKER1992 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 23.12.2010, 11:55   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от STALKER1992 Посмотреть сообщение
ну я как понял чтобы первые элементы столбца шли по возратсанию типо так
4 12 45 64 75 88
46 45 76 57 24 75
32 45 7 32 67 54
Теперь понятно. Сейчас посмотрю.
Vladimir_S вне форума   Ответить с цитированием
Старый 23.12.2010, 12:10   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Да, несколько Вы запутались с методом пузырька. Правильно так:
Код:
program n10;
uses crt;
const n=10;
var
 B:array[1..n, 1..n] of integer;
 i,j,k,m:byte;
begin
 clrscr;
 writeln('----исходная матрица B');
 randomize;
 For I:=1 to n do
  For j:=1 to n do
   b[i,j]:=Trunc(Random*90)+10;
 For i:=1 to n do
  Begin
   For j:=1 to n do
    write (b[i,j],'  ');
   writeln;
  end;
 for i:=1 to n-1 do
  for j:=1 to n-i do {Именно n-i, а не n-1!!!}
   begin
    if b[1,j]>b[1,j+1] then {Обратите внимание - перебор по j, а не по i !!!}
     begin
      for m:=1 to n do
       begin
        k:=b[m,j];
        b[m,j]:=b[m,j+1];
        b[m,j+1]:=k;
       end;
     end;
   end;
 writeln('-----отсортированная матрица B  ');
 for i:=1 to n do
  begin
   for j:=1 to n do
    write(b[i,j],'  ');
   writeln;
  end;
 readln;
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 23.12.2010, 16:54   #8 (permalink)
STALKER1992
Новичок
 
Регистрация: 21.12.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо! Я был близок к решению=)))
STALKER1992 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 21:00.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.