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

Помогите с процедурами пожалуйста!!!

Добавлено: 02 апр 2009, 20:31
shahid1991
Составить процедуру определения адресов элементов, значения которых лежат в пределах от p до q, в одномерном массиве а. С помощью этой процедуры определить и вывести на экран адреса соответствующих элементов в строках двумерной матрицы.
p.s. если можно то с комментариями пожалуйста.

Re: Помогите с процедурами пожалуйста!!!

Добавлено: 03 апр 2009, 16:30
Esgal
ПОЛНОСТЬЮ РАБОЧИЙ ВАРИАНТ:

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

program adr;
uses crt;
const n=10;
      k=89;
type Arr=array[1..n] of integer;
     AdrArr=array[1..n] of 0..n;
var Ar:array[1..n] of arr;
    Ad:AdrArr;
    i,j:1..n;
    p,q:integer;

procedure FindPos(a:arr; p,q:integer; var b:AdrArr);
var i,j:1..n;
begin
  j:=1;
  for i:=1 to n do
    if (a[i]>=p) and (a[i]<=q) then 
      begin
         b[j]:=i;
         inc(j);
      end;
end;

begin  clrscr;
  randomize;
  writeln('Ishodniy massiv:',#10#13);
  for i:=1 to n do
    begin
      for j:=1 to n do
        begin
          Ar[i][j]:=random(k)+10;
          write(Ar[i][j],' ');
        end;
      writeln;
    end;

  writeln(#10#13,'Wwedite p i q:',#10#13); readln(p,q);
  writeln('Elementi znacheniya kotorih nahodyatsya v otrezke [',p,',',q,'], raspolozheni po sled. adresam:');
  for i:=1 to n do
    begin
      FindPos(Ar[i],p,q,Ad);
      j:=1;
      while ad[j]<>0 do
        begin
          writeln('(',i,',',ad[j],')');
          Ad[j]:=0;
          inc(j);
        end;
    end;
 ReadKey;
end.

Re: Помогите с процедурами пожалуйста!!!

Добавлено: 03 апр 2009, 20:47
shahid1991
Сори но мне надо в паскале =(
--------------------------------------------------------------------------------
Добавленное сообщение
--------------------------------------------------------------------------------
Программа ругается на J:=0

Re: Помогите с процедурами пожалуйста!!!

Добавлено: 03 апр 2009, 23:10
Esgal
это паскаль...

сорри, ошибочка, должно быть

j:=1;

это незавершенный вариант, сейчас добавлю коменты)
--------------------------------------------------------------------------------
Добавленное сообщение
--------------------------------------------------------------------------------
надеюсь я слово адрес правильно понял...

Имеется же ввиду адрес - позиция элемента в массиве?
Или нужен был адрес в памяти?

Re: Помогите с процедурами пожалуйста!!!

Добавлено: 04 апр 2009, 08:37
shahid1991
ВЫ знаете.... я сам толком не понял.... мне дали задание и ничего не сказали. Но я думаю всетаки номер элемента в массиве!

Re: Помогите с процедурами пожалуйста!!!

Добавлено: 04 апр 2009, 12:45
Esgal
ну тогда мой вариант должен работать

Re: Помогите с процедурами пожалуйста!!!

Добавлено: 05 апр 2009, 16:21
shahid1991
программа после исправления не выдает сообщения об ошибках но и ничего не делает =( я задал тип p,q кот не задан у вас и сделал их ввод с клавиатуры

Re: Помогите с процедурами пожалуйста!!!

Добавлено: 05 апр 2009, 17:56
Esgal
всё при всё дописал! смотрите во втором посте

Re: Помогите с процедурами пожалуйста!!!

Добавлено: 05 апр 2009, 18:03
shahid1991
спасибо огромное.......... =)

Re: Помогите с процедурами пожалуйста!!!

Добавлено: 05 апр 2009, 18:26
Esgal
На здоровье!
Желаю вам, в следующий раз самостоятельно разбираться