![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Warn |
![]()
Сообщение
#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. Где ошибка? И тот же вопрос: Как сделать программу универсальной, чтобы в процедуре задавался размер массива? |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
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.
![]() ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Warn |
![]()
Сообщение
#3
|
Гость ![]() |
Фига прикол..
![]() |
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата Как сделать программу универсальной, чтобы в процедуре задавался размер массива? Работа с динамическими массивами -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
![]()
Сообщение
#5
|
Гость ![]() |
Спасибо!
А на заметку: В той ссылке.. но после определения начальной длинны Еще и выделили.. Длины пишется с одной "н" ![]() Форум филологов и любителей русского языка в другом месте. А вообще исправим. Сообщение отредактировано: klem4 - 20.12.2005 21:22 |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Ты бы лучше Паскалем занялся, профессор !!!
|
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 5:17 |