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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2009, 20:16   #1
vacia78
 
Регистрация: 05.03.2009
Сообщений: 6
По умолчанию Паскаль. Массивы. Найти положение значений

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


Помогите решить плз в Завтро 8 утра перездача назначена последняя.
vacia78 вне форума Ответить с цитированием
Старый 05.03.2009, 21:24   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
var i,j,bi,bj,ci,cj : integer;
........................
bi := -1;  //На случай, если элементы не будут найдены
ci := -1;
for i:=1 to m do
 for j:=1 to n do
  begin
  if mas[i,j] = b then
   begin
   bi := i;
   bj := j;
   end;
  if mas[i,j] = c then
   begin
   ci := i;
   cj := j;
   end;
  end;
Остальное сами.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.03.2009, 21:27   #3
vacia78
 
Регистрация: 05.03.2009
Сообщений: 6
По умолчанию

Код:
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('vvedite b i c  '); readln(b,c);

  if Search(b,a,i,j)
    then writeln('znachenie b v massive naideno ', i, ':',j)
    else writeln('znachenie b v mssive nenaideno ');
  if Search(c,a,i,j)
    then writeln('znachenie c v massive naiden ', i, ':',j)
    else writeln('znachenie c v mssive nenaideno ');
  writeln('Nagmite Enter');
  readln;
end.
Подсажите пожалуста, если в матрице будет несколько чисел одинаковых(например 3) можно ли както сделать чтоб выводилось несколько координат?


0 0 8 2 2
6 3 1 3 4
0 4 0 8 0
2 9 3 7 3
vacia78 вне форума Ответить с цитированием
Старый 05.03.2009, 21:38   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Например, вот так:
Код:
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):boolean;
 var fl : boolean;
 i,j : integer;
 begin
 fl := false;
  for i:=1 to m do
   for j:=1 to n do
    begin
    if where[i,j] = what then
     begin
     writeln('znachenie ',what,' v massive naideno ', i, ':',j);
     fl := true;
     end;
    end;
  Search:=fl;
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('vvedite b i c  '); readln(b,c);

  if not Search(b,a)
    then writeln('znachenie b v mssive ne naideno ');
  if not Search(c,a)
    then writeln('znachenie c v mssive ne naideno ');
  writeln('Nagmite Enter');
  readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.03.2009, 21:50   #5
vacia78
 
Регистрация: 05.03.2009
Сообщений: 6
По умолчанию

Спасибо Большое
vacia78 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена значений в массиве, на указанное, одномерные массивы. паскаль Кирилл17 Помощь студентам 10 22.12.2008 19:56
Pascal. Одномерные массивы разрешенных и неразрешенных значений. FatCat Помощь студентам 2 05.12.2008 11:39
Найти значение функций для всех целых значений из диапазона -8..3 Goldberg Паскаль, Turbo Pascal, PascalABC.NET 5 13.11.2008 00:05
Как найти большее число из имеющихся значений в Паскале? Auditor Помощь студентам 7 05.05.2008 21:57
Паскаль. 1.Даны массивы.2 Дан X найти... Stelix Помощь студентам 7 20.11.2007 21:08