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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2014, 19:53   #1
trinity19
Новичок
Джуниор
 
Регистрация: 08.01.2014
Сообщений: 2
По умолчанию Помогите с проверкой условия

Delphi
Код:
program lab10;

{$APPTYPE CONSOLE}

const
  LEN=8;

var
  a: array[1..LEN,1..LEN] of integer; //Исходная матрица {Aij}
  b: array[1..LEN] of integer; //Вспомогательный одномерный массив (для суммы квадратов)
  n,i,j,s,tmp,k,min,l,m: integer;
begin
  reset(input,'input.txt');
  rewrite(output,'output.txt');
  read(n);
  for i:=1 to n do
    for j:=1 to n do
      read(a[i,j]);
for k:=1 to n do
  begin
    b[k]:=0;
    for l:=1 to n do
      if a[k,l]>0 then
        b[k]:=b[k]+sqr(a[k,l]); //получаем элементы одномерного массива (сумма квадратов)

    write('Сумма квадратов ',k,' строки исходной матрицы = ',b[k]); // выводим элементы
    writeln;
  end;



  // Сортировка массива и матрицы
  for k:=2 to n do
    for l:=n downto k do
      if b[l-1]<b[l] then
      begin
        tmp:=b[l-1];
        b[l-1]:=b[l];
        b[l]:=tmp;
        for m:=1 to n do begin
          tmp:=a[l-1,m];
          a[l-1,m]:=a[l,m];
          a[l,m]:=tmp;
        end;
      end;
  // Вывод упорядоченной матрицы
  Writeln('Упорядоченная матрица: ');
  for k:=1 to n do
  begin
    for l:=1 to n do
      write(a[k,l]:4,' ',' ');

    writeln('Сумма квадратов ',k,' строки упорядоченной матрицы = ' b[k]);
  end;
end.
Вообщем необходимо сделать проверку к данной программе(если есть в матрице элемент, равный минимальному элементу, то выполняется программа).
Помогите, пожалуйста, где и как написать проверку.
Полное условие задачи:

Дана целочисленная матрица {Aij} i,j=1...n .Если в матрице есть один элемент, равный её наименьшему элементу, то упорядочить строки матрицы по невозрастанию суммы квадратов элементов.

Последний раз редактировалось trinity19; 13.01.2014 в 20:10.
trinity19 вне форума Ответить с цитированием
Старый 14.01.2014, 19:56   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от trinity19 Посмотреть сообщение
если есть в матрице элемент, равный минимальному элементу
Там всегда есть элемент, равный минимальному, а ещё в матрице всегда есть элемент, равный максимальному элементу (если там не пусто, конечно)
Цитата:
Сообщение от trinity19 Посмотреть сообщение
Если в матрице есть один элемент, равный её наименьшему элементу
Если имеется в виду "Если в матрице есть единственный элемент, равный её наименьшему элементу", то примерно так:
Код:
b := false;//отвечает за уникальность минимума
min := maxint;
for i := 1 to LEN do for j := 1 to LEN do
  if a[i,j] < min then begin
    min := a[i,j];
    b := true //пока минимум уникален
  end else if a[i, j] = min then 
    b := false; //нашёлся ещё один минимум

if b then выполнять программу
eoln вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с проверкой условия с++ konstantusha Помощь студентам 0 24.02.2013 14:50
Проблема с проверкой условия посредством repeat until Zis67 Общие вопросы Delphi 3 01.10.2012 00:58
Проблема с проверкой по списку, который зависит от условия jlobster Microsoft Office Excel 2 24.12.2009 21:41
как реализовать построковый переход с проверкой условия grom_nv Microsoft Office Excel 0 03.04.2009 07:31
Помогите с проверкой в паскале neomaximus Помощь студентам 2 10.07.2008 09:41