Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 09.04.2012, 22:16   #1 (permalink)
karulina
Новичок
 
Регистрация: 09.04.2012
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задача Delphi

помогите пожалуйста исправить код, чтобы работал правильно. моя задача. в матрице размером 20на30 упорядочить строки по неубыванию максимальных элементов строк.(если я правильно поняла из условия то неубывание это возрастание, так?) если нет всё равно помогите пожалуйста переписать код на правильный, почему то не упорядочивает строки и вообще посмотрите что тут и как делать - срочно нужно сдать задачу!.. а я очень сильно запуталсь...
PHP код:
program Project2;
 
{
$APPTYPE CONSOLE}
 
uses
  Windows
,
  
SysUtils;

const
n=20;
m=30;
 
type
telem
=Integer;
mas=array[1..nof telem;
matr=array[1..mof mas;

var 
b:mas;
 
 
function 
max_v_strok(a:matr):Real; {процедура поиска максимума в каждой строке}
var 
k,i,j:Integer;
    
max:telem;
begin
  
for j:=1 to n do
    
begin
      max
:=a[1,j];
      for 
i:=2 to m do
          
begin
            
if a[i,j]>max then max:=a[i,j];
          
end;
      
writeln('Максимальный эл-т в ',j,' строке: ',max);
      
b[k]:=max; {запись максимумов в отдельный массив}
    
end;
max_v_strok:=max;
end;
 
Procedure uporad_strok;{процедура сортировки строк}
var 
k,i,j:Integer;
a:matr;
tmp:telem;
begin
  
for k:=1 to n do {открываем цикл по максимумам сравниваем элементы}
  if 
b[k]>b[k+1then
  begin
    
for i:=1 to m do
      
begin
        tmp
:=a[i,k]; {сортируем строки по возрастанию}
        
a[i,k]:=a[i,k+1];
        
a[i,k+1]:=tmp;
      
end;
  
end;
end;
 
procedure Ptint_matr (var a:matr); {процедура печати новой матрицы}
var 
i,j:Integer;
begin
  
for i:=1 to m do
    
begin
      
for j:=1 to n do write(a[i,j],' ');
      
Writeln;
    
end;

end;
var
i,j:Integer;
a:matr;

begin
SetConsoleOutputCP
(1251);
Writeln('Исходная матрица');
Randomize; {автоматическая генерация матрицы}
for 
i:=1 to m do
  
begin
    
for j:=1 to n do
        
begin
          a
[i,j]:=random(30);
          
write(a[i,j],' ');
        
end;
    
Writeln;
  
end;
 
Writeln('Максимальные элементы в каждой строке');
max_v_strok(a);
uporad_strok();
Writeln('Конечная матрица');
Ptint_matr(a);
Readln;
end
karulina вне форума   Ответить с цитированием

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

Это ссылки на похожие топики, посмотрите

DELPHI
Помощь в Delphi
Delphi и классы
Задание по Delphi
Проблема с Delphi

Старый 09.04.2012, 22:34   #2 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

Говорили же! не дублируйте сообщения!
kreol вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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