IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Матрица, строки матрицы убывающие?
Anastacia Adesso
сообщение 12.10.2006 10:08
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 92
Пол: Мужской
Реальное имя: Stanislav

Репутация: -  0  +


Хммм я кажется тут чтото не то делаю.
Вроде надо проверить, являются ли все числа в строках матрицы в убывающей последовательности.

Процедуры работают очень хорошо..А вот в самом теле какая то фигня. Выдаёт ошибку в цикле while Прикрепленный файл  UZD3.PAS ( 1.24 килобайт ) Кол-во скачиваний: 315


Сообщение отредактировано: Anastacia Adesso - 12.10.2006 10:09


--------------------
Ben sensiz yaşayamam
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
klem4
сообщение 12.10.2006 10:48
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Код
for j:=1 to m do i:=1; // < ---- ТУТ Do Begin видимо нужно :)
while (i<=n-1) and a[i]>a[succ(i)] do inc(i);
end;writeln;


uses crt;

const

  n = 2;
  m = 3;

type

  TMx = array [1..n, 1..m] of integer;


procedure ReadMatrix(var mx: TMx);
var
  i, j: Integer;
begin
  for i := 1 to n do
   for j := 1 to m do begin
     write('mx[', i, ',', j, ']=');
     readln(mx[i, j]);
   end;
end;

procedure PrintMatrix(const mx: TMx);
var
  i, j: Integer;
begin
  for i := 1 to n do begin
    writeln;
    for j := 1 to m do
     write(mx[i, j]:2);
  end;
end;

function CheckRow(const mx: TMx; row: Integer): Boolean;
var
  i: Integer;
begin
  i := 1;
  while (i < m) and (mx[row, i] <= mx[row, i + 1]) do inc(i);
  CheckRow := (i = m);
end;

function CheckMatrix(const mx: TMx): Boolean;
var
  i: Integer;
begin
  i := 1;
  while (i <= n) and (CheckRow(mx, i)) do inc(i);
  CheckMatrix := (i > n);
end;

var

  mx: TMx;

begin

  clrscr;

  ReadMatrix(mx);

  PrintMatrix(mx);

  writeln; 

  Writeln(CheckMatrix(mx));

  readln;

end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 12.10.2006 10:50
Сообщение #3


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Я думаю, ошибку выдает из-за отсутствия скобочек при сравнении эл-тов массива.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 12.10.2006 10:55
Сообщение #4


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
Я думаю, ошибку выдает из-за отсутствия скобочек при сравнении эл-тов массива.


Anastacia Adesso, + Ты обращаешься к эелементу матрица как к элнементу массива (a[i] вместо a[i, j]), да и циклы по i и j у тебя помоему перепутаны местами в проверке, надо идти по строками (внешний цикл)


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Anastacia Adesso
сообщение 12.10.2006 12:10
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 92
Пол: Мужской
Реальное имя: Stanislav

Репутация: -  0  +


Прикрепленный файл  UZD3.PAS ( 1.48 килобайт ) Кол-во скачиваний: 329
Да да..Это я поняла что там двумерный масив..
Поставила 2 координаты, но сейчас всё ещё не компилирует никак..


--------------------
Ben sensiz yaşayamam
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.10.2006 12:49
Сообщение #6


Гость






Цитата(Anastacia Adesso @ 12.10.2006 11:10)
сейчас всё ещё не компилирует никак..
Я бы тоже отказался ЭТО компилировать:
    procedure printmatrix(a :matrix; n,m: integer);
    var i,j: integer;
    begin for i:=1 to n do
      for j:=1 to m do begin { <--- Внимание !!! Цикл по J }
       write(a[i,j]:6);
       if j=m then begin writeln;
       for j:=1 to m do begin { <--- И вложенный в него - тоже по J ??? }
       end; writeln
      end end
    end;
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 28.07.2025 19:46
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"