Страница 1 из 1

Паскаль. Массивы. Найти положение значений

Добавлено: 05 мар 2009, 19:57
infff
Вопрос по паскалю:
Дана целочисленная матрица размером m x n и целые числа b и c. Определить, на каком месте Расположены эти числа в матрице.


Помогите решить плз в Завтро 8 утра перездача назначена последняя.

Re: Паскаль. Массивы. Найти положение значений

Добавлено: 05 мар 2009, 20:27
Naeel Maqsudov
[syntax=pascal]
const
m=4;
n=5;
type
TArr = array[1..m,1..n] of integer;
var
a:TArr;
b,c,i,j:integer;

function Search(what:integer; where:TArr; var i,j:integer):boolean;
begin
i:=1; j:=1;
while (what<>where[i,j]) and (i<=m) and (j<=n) do begin
inc(j);
if j>n then begin
j:=1; inc(i);
end;
end;
Search:=what=where[i,j];
end;

begin
{заполнение}
for i:=1 to m do for j:=1 to n do a[i,j]:=random(10);
{вывод}
for i:=1 to m do begin
for j:=1 to n do write(a[i,j]:4);
writeln;
end;
{запрос}
write('Введите b и c через пробел: '); readln(b,c);
{поиск}
if Search(b,a,i,j)
then writeln('Значение b найдено в позиции ', i, ':',j)
else writeln('Значение b в массиве не найдено');
if Search(c,a,i,j)
then writeln('Значение с найдено в позиции ', i, ':',j)
else writeln('Значение с в массиве не найдено');
writeln('Нажмите Enter');
readln;
end.
[/syntax]

Re: Паскаль. Массивы. Найти положение значений

Добавлено: 05 мар 2009, 20:37
infff
Спасибо большое за помошь.

Re: Паскаль. Массивы. Найти положение значений

Добавлено: 05 мар 2009, 21:08
infff
Подсажите пожалуста, а если в массиве будет несколько чисел одинаковых(например 3) можно ли както сделать чтоб выводилось несколько координат?


0 0 8 2 2
6 3 1 3 4
0 4 0 8 0
2 9 3 7 3

Re: Паскаль. Массивы. Найти положение значений

Добавлено: 05 мар 2009, 21:46
infff
и если незатруднит поясните пожалуста значение write(a[i,j]:4);

Код: Выделить всё

{вывод}
  for i:=1 to m do begin
    for j:=1 to n do write(a[i,j]:4);
    writeln;
  end;

Re: Паскаль. Массивы. Найти положение значений

Добавлено: 06 мар 2009, 09:18
kuznetsovSergey
это код вывода массива, с форматированием. Он идет по строчно, и в другом цикле продолжает выводить по столбцам. Таким образом выводит красиво в виду прямоугольной таблички, потому что под кажное число выделено всего 4 знака.