Задача про матрицу |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача про матрицу |
agressor |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 33 Пол: Мужской Репутация: 0 |
В заданной матрице K на E опредилить кол-во строк образующих арифм. прогрессию. Использовать подпрограмму/функцию для проверки одной строки.
|
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Вроде привильно работает, сам с функциями особо не знаком, не изучали еще но вроде так :
Код 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";'
|
volvo |
Сообщение
#3
|
Гость |
klem4
Ему надо Цитата Использовать подпрограмму/функцию для проверки одной строки То есть в функции должна остаться только проверка одной строки, и эта самая функция будет вызываться в цикле... ;) |
klem4 |
Сообщение
#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";'
|
agressor |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 33 Пол: Мужской Репутация: 0 |
она не работает!
|
volvo |
Сообщение
#6
|
Гость |
agressor
Цитата она не работает! Краткость - сестра таланта?Агрессией здесь Вы ничего не добьетесь ... Приведите тестовую матрицу, с которой программа не сработала... |
agressor |
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 33 Пол: Мужской Репутация: 0 |
У меня она виснит после ввода первого элемента.
|
volvo |
Сообщение
#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 - |
agressor |
Сообщение
#9
|
Новичок Группа: Пользователи Сообщений: 33 Пол: Мужской Репутация: 0 |
Только матриц должна быть 3 на 4
|
agressor |
Сообщение
#10
|
Новичок Группа: Пользователи Сообщений: 33 Пол: Мужской Репутация: 0 |
извини ступил. :molitva:
|
agressor |
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 33 Пол: Мужской Репутация: 0 |
Код arrprg(x); writeln; { для чего writeln; } writeln(s); readln; end. Сообщение отредактировано: volvo - |
volvo |
Сообщение
#12
|
Гость |
пустой Writeln; для того, чтобы визуально отделить ввод матрицы от вывода результата... В принципе можно его и убрать.
Ну так программа сработала? |
agressor |
Сообщение
#13
|
Новичок Группа: Пользователи Сообщений: 33 Пол: Мужской Репутация: 0 |
Все понял вроде работает. Спасибо. У меня тут вобще Паскаль в XP работать не хочет, приходится через загрузочную дискету. Правда смешно?
|
klem4 |
Сообщение
#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";'
|
Текстовая версия | 26.04.2024 6:04 |