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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2011, 18:57   #1
Avatonk
Пользователь
 
Регистрация: 23.10.2011
Сообщений: 21
По умолчанию Pascal.Ошибка переполнения массива.

Сделал программу,выдаёт ошибку перполнения массива.Не пойму что делать.
Вот задача по которой делал прогу:
Дана квадратная матрица A( в данном случае массив arr) найти все элементы равные k,заменить их на 10

program mas_siv;

const
m=20;
n=20;

var
arr: array[1..n,1..m] of longint;
k: byte;
i,j: integer;

begin
randomize;

for i := 1 to n do begin
arr[i,j] := random(10)-5;
write (arr[i,j]:3);
end;

for i := 1 to m do
if arr[i,j] = k then begin
arr[i,j] := 10;
writeln(arr[i,j]);
end;

readln;
end.
Avatonk вне форума Ответить с цитированием
Старый 26.12.2011, 19:27   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Код:
for i := 1 to n do begin
arr[i,j] := random(10)-5;
массив двумерный

Цитата:
Код:
for i := 1 to n do begin
arr[i,j] := random(10)-5;
write (arr[i,j]:3);
значения индексов после файла не определенны после цикла
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 26.12.2011, 20:49   #3
Avatonk
Пользователь
 
Регистрация: 23.10.2011
Сообщений: 21
По умолчанию

Спасибо сделал, но всё равно не заменяет
Доработал-не пашет:
Код:
program mas_siv;

const
m=5;
n=5;

var
arr: array[1..n,1..m] of byte;
k: byte;
i,j: integer;

begin
randomize;
readln(k);

for i := 1 to n do begin
arr[n,m] := random(25);
write (arr[n,m]:3);
end;

for i := 1 to m do
if arr[n,m] = k then begin
arr[n,m] := 10;
writeln(arr[n,m]);
end;

readln;
end.

Последний раз редактировалось Avatonk; 26.12.2011 в 20:59.
Avatonk вне форума Ответить с цитированием
Старый 26.12.2011, 21:05   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
program mas_siv;
const
m=20;
n=20;
var
arr: array[1..n,1..m] of longint;
k: byte;
i,j: integer;

begin
randomize;

for i := 1 to n do begin
for j=1 to m do begin
arr[i,j] := random(10)-5;
write (arr[i,j]:3);
end;
writeln;end;
for i := 1 to m do
for j=1 to m do 
if arr[i,j] = k then begin
arr[i,j] := 10;
writeln(arr[i,j]);
end;
readln;
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal: Составить программу генерирования массива B, состящего из отрицательных элементов массива a mrRastom Помощь студентам 2 15.01.2011 14:33
Ошибка переполнения и sqr. ray13 Паскаль, Turbo Pascal, PascalABC.NET 10 04.03.2009 15:59
Ошибка переполнения стека Cannibal Общие вопросы Delphi 1 01.12.2008 21:32
ошибка "Переполнения" Tanuska___:) БД в Delphi 0 08.10.2008 12:58
Ошибка переполнения стека из-за использования рекурсий Morrigan13 Помощь студентам 5 02.04.2008 08:04