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

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

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

 
 Ответить  Открыть новую тему 
> Помогите разобрать программу.
сообщение
Сообщение #1





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

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


Помогите пожалуйста мне разобрать, что в этой программе и зачем делалось.
Я подчеркнул красным что не смог понять.

 program z;

const m=5;
var f:text;
a:array[1..m,1..m] of integer;
b:array[1..m] of integer;
i,j:integer;

begin

assign(f,'1.txt');
reset(f);
for i:=1 to m do
for j:=1 to m do

read(f,a[i,j]);
close(f);

for i:=1 to m do
begin
b[i]:=-1;
for j:=2 to m do
if a[i,j-1]<=a[i,j] then b[i]:=1;

end;

append(f);
for i:=2 to m do
write(f,b[i]:3);

close(f);

end.



for i:=1 to m do
for j:=1 to m do я так понимаю это цикл для того чтоб считать с фаила?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


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

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

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


М
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...



Цитата
for i:=1 to m do
for j:=1 to m do я так понимаю это цикл для того чтоб считать с фаила


в самом начала - да. Ты открываешь файл и читаешь из него значения в матрицу.


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





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

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


для чего потом еще раз после закрытия файла цикл for i:=1 to m do.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

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

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


До закрытия. Добавляешь в файл (append), вектор b.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


да не в программу добавлять не надо ни чего. мне просто нужно понять зачем циклы там и оператор и что они делают.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата
До закрытия.
no1.gif После переоткрытия в режиме добавления... Close(f) все-таки был...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гуру
*****

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

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


Что-то туплю я сегодня. wacko.gif
for i:=1 to m do
begin
b[i]:=-1;
for j:=2 to m do
if a[i,j-1]<=a[i,j] then b[i]:=1;
end;

Сравниваются рядом стоящие элементы строки, если левый <= правого, то в вектор b пишется +1, а иначе -1.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





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

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


После открытия фаила для перезаписи зачем вот это?

for i:=2 to m do
write(f,b[i]:3);
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гуру
*****

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

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


В файл пишется вектор b.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





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

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


b[i]:3 вот это что значит?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гуру
*****

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

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


Отводится 3 позиции на вывод числа
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12





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

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


спс тебе
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13





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

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


Цитата(Бездарь @ 31.05.2007 10:29) *

b[i]:3 вот это что значит?


а что за 3 позиии?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Гуру
*****

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

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


Длина числа + кол-во пробелов.
Например,
Write(x:3); при x=21
выведет число 21 и перед ним один пробел
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 29.11.2020 3:28
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name