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

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

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

> Задача про матрицу
agressor
сообщение 12.01.2005 15:56
Сообщение #1


Новичок
*

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

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


В заданной матрице K на E опредилить кол-во строк образующих арифм. прогрессию. Использовать подпрограмму/функцию для проверки одной строки.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 13)
klem4
сообщение 12.01.2005 16:40
Сообщение #2


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

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

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


Вроде привильно работает, сам с функциями особо не знаком, не изучали еще smile.gif но вроде так :

Код
uses crt;
const k=3;
     e=4;
type
  mass=array[1..k,1..e] of integer;
var
   i,j,s:integer;
   x:mass;

function arrprg(x:mass):boolean;
var bo:boolean;
begin
  for i:=1 to k do
   begin
      bo:=true;
      begin
         for j:=1 to e-2 do
          if (x[i,j]-x[i,j+1])<>(x[i,j+1]-x[i,j+2])
           then bo:=false;
         if bo=true then inc(s);
      end;
   end;
end;

Begin
  clrscr;
  s:=0;
  for i:=1 to k do
   for j:=1 to e do
    begin
       write('x[',i,',',j,']= ');
       readln(x[i,j]);
    end;
  arrprg(x);
  writeln;
  writeln('s=',s);
  readln;
  end.




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


Гость






klem4
Ему надо
Цитата
Использовать подпрограмму/функцию для проверки одной строки
То есть в функции должна остаться только проверка одной строки, и эта самая функция будет вызываться в цикле... ;)
 К началу страницы 
+ Ответить 
klem4
сообщение 12.01.2005 17:01
Сообщение #4


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

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

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


Значит так :low:

Код
uses crt;
const k=3;
    e=4;
type
 mass=array[1..k,1..e] of integer;
var
  i,j,s:integer;
  x:mass;

function arrprg(x:mass):boolean;
var bo:boolean;
begin
  bo:=true;
  begin
     for j:=1 to e-2 do
      if (x[i,j]-x[i,j+1])<>(x[i,j+1]-x[i,j+2])
       then bo:=false;
        if bo=true then inc(s);
  end;
end;

Begin
 clrscr;
 s:=0;
 for i:=1 to k do
  for j:=1 to e do
   begin
      write('x[',i,',',j,']= ');
      readln(x[i,j]);
   end;
 for i:=1 to k do
  arrprg(x);
 writeln;
 writeln(s);
 readln;
 end.



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


Новичок
*

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

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


она не работает!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.01.2005 20:54
Сообщение #6


Гость






agressor
Цитата
она не работает!
Краткость - сестра таланта?

Агрессией здесь Вы ничего не добьетесь ... Приведите тестовую матрицу, с которой программа не сработала...
 К началу страницы 
+ Ответить 
agressor
сообщение 12.01.2005 20:59
Сообщение #7


Новичок
*

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

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


У меня она виснит после ввода первого элемента.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.01.2005 21:01
Сообщение #8


Гость






agressor
Вот с этой матрицей я только что запускал программу 3 раза (при k = 4, e = 5):
Цитата
  1 2 3 4 5
  2 4 6 8 10
  1 2 9 12 14
  0 1 4 5 0
- все прекрасно работает...

Сообщение отредактировано: volvo - 12.01.2005 21:02
 К началу страницы 
+ Ответить 
agressor
сообщение 12.01.2005 21:05
Сообщение #9


Новичок
*

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

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


Только матриц должна быть 3 на 4
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
agressor
сообщение 12.01.2005 21:06
Сообщение #10


Новичок
*

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

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


извини ступил. :molitva:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
agressor
сообщение 12.01.2005 21:10
Сообщение #11


Новичок
*

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

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


Код
arrprg(x);
writeln; { для чего writeln; }
writeln(s);
readln;
end.


Сообщение отредактировано: volvo - 12.01.2005 21:12
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.01.2005 21:14
Сообщение #12


Гость






пустой Writeln; для того, чтобы визуально отделить ввод матрицы от вывода результата... В принципе можно его и убрать.

Ну так программа сработала?
 К началу страницы 
+ Ответить 
agressor
сообщение 12.01.2005 21:25
Сообщение #13


Новичок
*

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

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


Все понял вроде работает. Спасибо. У меня тут вобще Паскаль в XP работать не хочет, приходится через загрузочную дискету. Правда смешно?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 12.01.2005 21:55
Сообщение #14


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

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

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


Цитата(agressor @ 12.01.05 21:25)
Паскаль в XP работать не хочет, приходится через загрузочную дискету. Правда смешно?

У тебя наверняка нету файла autoexec.nt в ..\winnt\system32\


Прикрепленные файлы
Прикрепленный файл  AUTOEXEC.NT ( 1.65 килобайт ) Кол-во скачиваний: 2


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

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

 



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