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

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

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

> Еще одна задача, На процедуры и ф-ии
сообщение
Сообщение #1


Гость






Нужно подсчитать общее количество отрицательных элементов в массивах Х(50) и Y(70).

Я пробовал так
Program Counter;
Const m=5; n=7;
Type MasX = Array [1 .. m] Of Integer;
MasY = Array [1 .. n] Of Integer;
Var Count, i: Integer;
MX: MasX;
MY: MasY;

Procedure ReadMas(Var X: MasX; Y: MasY);
Begin
WriteLn('BBeDuTe MaccuB X(', m,')');
For i:=1 To m Do Read(X[i]);
WriteLn('BBeDuTe MaccuB Y(', n, ')');
For i:=1 To n Do Read(Y[i]);
End;

Procedure Counting(Var X: MasX; Y: MasY);
Begin
Count:=0;
For i:=1 To m Do
If X[i]<0 Then Count:=Count+1;
For i:=1 To n Do
If Y[i]<0 Then Count:=Count+1;
End;

Begin
ReadMas(MX, MY);
Counting(MX, MY);
WriteLn(Count);
ReadLn
End.


Но почему-то счетчик остаётся равен 1. Где ошибка? И тот же вопрос: Как сделать программу универсальной, чтобы в процедуре задавался размер массива?
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
сообщение
Сообщение #2


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

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

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


Program Counter;
Const m=5; n=7;
Type MasX = Array [1 .. m] Of Integer;
MasY = Array [1 .. n] Of Integer;
Var Count : byte;
MX: MasX;
MY: MasY;

Procedure ReadMas(Var X: MasX; var Y: MasY);
var i : byte;
Begin
WriteLn('BBeDuTe MaccuB X(', m,')');
For i:=1 To m Do Read(X[i]);
WriteLn('BBeDuTe MaccuB Y(', n, ')');
For i:=1 To n Do Read(Y[i]);
End;

Procedure Counting(X: MasX; Y: MasY);
var i : byte;
Begin
Count:=0;
For i:=1 To m Do
If X[i]<0 Then Count:=Count+1;
For i:=1 To n Do
If Y[i]<0 Then Count:=Count+1;
End;

Begin
ReadMas(MX, MY);
Counting(MX, MY);
WriteLn(Count);
ReadLn
End.


!low.gif rolleyes.gif


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


Гость






Фига прикол.. smile.gif Только ответа я не получил: как сделать программу универсальной?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


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

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

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


Цитата
Как сделать программу универсальной, чтобы в процедуре задавался размер массива?


Работа с динамическими массивами


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


Гость






Спасибо!
А на заметку: В той ссылке.. но после определения начальной длинны Еще и выделили.. Длины пишется с одной "н" smile.gif Просто сразу в глаза бросается.

Форум филологов и любителей русского языка в другом месте. А вообще исправим.

Сообщение отредактировано: klem4 -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Ты бы лучше Паскалем занялся, профессор !!!
 К началу страницы 
+ Ответить 

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

 





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