Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2021, 16:46   #1
LevMark
Пользователь
 
Регистрация: 28.03.2021
Сообщений: 24
По умолчанию Ошибка ввода двумерного массива

Данная программа должна выводить на экран матрицу введенного размера и с помощью ГПСЧ заполнить её элементами, а так же выводит число элементов меньше 0 по столбцам. По условию задачи число элементов вводимое пользователем должно быть произвольным.
type
matrix = array[,] of integer;
arr = array of integer;

procedure matr1(s: string; var k: integer);
begin
write(s);
readln(k);
end;

procedure matr2(c: char; var x: matrix; var m, n: integer);
var
i, j: integer;
begin
matr1('Введите количество строк в матрице ' + c + ': ', m);
matr1('Введите количество столбцов в матрице ' + c + ': ', n);
writeln('Матрица ', c, ':');
for i := 1 to m do
begin
for j := 1 to n do
begin
x[i, j] := -99 + random(199);
write(x[i, j]:4)
end;
writeln
end
end;

procedure el(const x: matrix; const m, n: integer; var y: arr);
var
i, j: integer;
begin
for j := 1 to n do y[j] := 0;
for i := 1 to m do
for j := 1 to n do
if x[i, j] < 0 then inc(y[j])
end;


procedure poell(var y: arr; const n: integer);
var
j: integer;
begin
writeln('Количество отрицательных элементов по столбцам:');
for j := 1 to n do write(y[j]:4);
writeln;
writeln
end;


var
a, b: matrix;
c, d: arr;
i, j, k, e: integer;

begin
randomize;
matr2('A', a, i, j);
el(a, i, j, c);
poell(c, j);
matr2('B', b, k, e);
el(b, k, e, d);
poell(d, e);
readln;
end.
LevMark вне форума Ответить с цитированием
Старый 03.05.2021, 17:00   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Ну и в чём вопрос?
digitalis вне форума Ответить с цитированием
Старый 05.05.2021, 12:04   #3
LevMark
Пользователь
 
Регистрация: 28.03.2021
Сообщений: 24
По умолчанию

digitalis,
x[i, j] := -99 + random(199); на этой строчке выдаёт "Параметр цикла for в PascalABC.NET должен описываться в заголовке цикла".
LevMark вне форума Ответить с цитированием
Старый 05.05.2021, 12:56   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Так оно работает в АБЦ, что можно работать с "безразмерным" масивом array[,] of integer и передавать неинициализированные параметры в matr2('A', a, i, j); ?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при передачи двумерного массива в функцию из библиотеки, написанной на СИ (lazarus) ivan.tiran Lazarus, Free Pascal, CodeTyphon 0 19.12.2014 13:19
Обработка двумерного массива целых значений (С++). В коде ошибка NataliaNatkina Помощь студентам 5 27.11.2012 16:26
Алгоритм ввода двумерного массива по строкам. Женька Good Помощь студентам 1 27.12.2011 16:29
функция ввода двумерного массива (с) Miles Помощь студентам 1 23.12.2011 00:27
ошибка в заполнении двумерного массива в файл серг Общие вопросы C/C++ 0 19.02.2010 09:43