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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2014, 17:41   #1
Sting95
Пользователь
 
Регистрация: 13.08.2013
Сообщений: 23
По умолчанию Сортировка массива, который задан константой. Pascal

Задание: Заполнить массив как константу и сортировать по возрастанию строку с наименьшей суммой элементов.

Вот некоторые наработки:

Код:
uses crt;
const X:array [1..3,1..4] of integer=((1,3,5,7),(2,4,6,8),(2,5,7,3));

var L,i,j:integer;
    
    
begin
writeln('Як заповнювати масив?');
writeln('1.Як константу');
writeln('2.Випадковi числа');
writeln('3.Вручну');
readln(L);
clrscr;

Case L of
 1: begin
    writeln('До перетворення');
    for i:=1 to 3 do
    begin
     for j:=1 to 4 do
      write (X[i,j],' ');
      writeln
      end;
      end;
      end;
      end.
нужен код как высчитать строку с наименьшей суммой элементов и вывести уже обработанный массив.
Sting95 вне форума Ответить с цитированием
Старый 28.04.2014, 09:09   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

какой у Вас компилятор Паскаля?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.04.2014, 15:16   #3
reflexx
Пользователь
 
Регистрация: 27.04.2014
Сообщений: 21
По умолчанию

Код:
program task_1;

const
  rows = 3;
  cols = 4;
  
type
  TMatrix = array [1..rows, 1..cols] of Integer;
  
const
  Matrix: TMatrix = ((1, 3, 5, 7), (2, 4, 6, 8), (2, 5, 7, 3));
  
var
  NewMatrix: TMatrix;
  MinSumm: Integer;
  Summ: Integer;
  MinIndex: Integer := 1;
  
begin
  WriteLn('Матрица, заданная константой: ');
  
  for var i:=1 to rows do begin
    for var j:=1 to cols do 
     Write(Matrix[i, j]: 3);
    WriteLn();
  end; 
  
  for var i:=1 to rows do begin
    for var j:=1 to cols do begin
      if (i = 1) then
       MinSumm+=Matrix[i, j];
      Summ+=Matrix[i, j]; 
    end;
    if (not (i = 1)) then
     if Summ < MinSumm then begin
       MinSumm:=Summ;
       MinIndex:=i;
     end;
    Summ:=0; 
  end;
  
  WriteLn('Индекс строки с минимальной суммой: ', MinIndex);
  
  NewMatrix:=Matrix;
  for var i:=1 to cols-1 do 
   for var j:=cols-1 downto i do
    if (NewMatrix[MinIndex, j] > NewMatrix[MinIndex, j+1]) then begin
      var temp:=NewMatrix[MinIndex, j];
      NewMatrix[MinIndex, j]:=NewMatrix[MinIndex, j+1];
      NewMatrix[MinIndex, j+1]:=temp;
    end;
    
  WriteLn('Новая матрица с отсортированной ', MinIndex, '-ой строкой');
  
  for var i:=1 to rows do begin
    for var j:=1 to cols do 
     Write(NewMatrix[i, j]: 3);
    WriteLn();
  end;   
end.
PS. PascalABC.NET (1.8). Какой уж был
PPS. ТС, указывай размерность массива. Уже во второй теме нужно по коду гадать.
reflexx вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal. Сортировка массива admiral121 Помощь студентам 4 23.12.2010 00:14
Сортировка массива, pascal zevs116 Помощь студентам 9 28.09.2010 22:23
Сортировка массива на Pascal'e DmitryVisuals Помощь студентам 0 26.11.2009 16:21
Сортировка массива (Pascal) Kion Помощь студентам 4 07.10.2009 23:34
Pascal - сортировка массива(файла?) kossner Помощь студентам 14 05.12.2008 14:57