Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

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

Ответ
 
Опции темы
Старый 01.06.2018, 02:52   #1
vaselisa162000
Пользователь
 
Регистрация: 28.04.2018
Сообщений: 10
Репутация: 10
По умолчанию Использование процедур для обработки массивов

Задание: Составить подпрограмму определения адресов элементов, значения которых лежат в пределах от p до q, в одномерном массиве А. С помощью этой подпрограммы определить и вывести на экран адреса соответствующих элементов в столбцах двумерной матрицы B.
Проверьте пожалуйста, у меня как-то странно выводятся адреса соответствующих элементов
Код:

Program laba91;
  uses
    crt;
  const
    L=10;
  type
    mas=array[1..l] of integer;
    matr=array[1..l,1..l] of integer;
  var
    Adr:mas;
    M:matr;
    i,j,p,q,n, maxn, maxi:integer;
  procedure Adress(a:mas; p,q:integer; var b:mas);
    var
      i,j:integer;
    begin
      j:=1;
    for i:=1 to n do
      if (a[i]>=p) and (a[i]<=q) then
        begin
          b[j]:=i;
          j:=j+1;
        end;
    end;
  begin
    clrscr;
    randomize;
    writeln('vvedite razmer matrici');
    readln(n);
    writeln('Ishodniy massiv:');
    for i:=1 to n do
      begin
        for j:=1 to n do
          begin
            M[i,j]:=random(100);
            write(M[i,j]:4);
          end;
          writeln;
      end;
    writeln('vvedite granici:');
    readln(p,q);
    writeln('adresa iscomih elementov [',p,',',q,'],');
    for i:=1 to n do
      begin
        Adress(M[i],p,q,Adr);
        j:=1;
        while adr[j]<>0 do
          begin
            writeln('(',i,',',adr[j],')');
            Adr[j]:=0;
            j:=j+1;
          end;
            end;
  readln;
end.

vaselisa162000 вне форума   Ответить с цитированием
Старый 01.06.2018, 10:14   #2
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,665
Репутация: 2097
По умолчанию

чтобы быть уверенным что в массиве ровно то что нужно(и сколько нужно), его надо бы сначала "очистить" (заполнить каким-то ненужным и известным числом).
Цитата:
Код:

       while adr[j]<>0 do

видимо это должен 0.
и перед каждым поиском.

Цитата:
Код:

mas=array[1..l] of integer;

массив из одного единственного элемента?..
и матрица такая же?..
__________________
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 01.06.2018 в 10:18.
evg_m вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование процедур для обработки массивов vaselisa162000 Паскаль 1 22.05.2018 22:12
Приложение для обработки массивов - Delphi avatar54 Помощь студентам 1 11.12.2017 20:16
Создание приложений для обработки массивов anastasiya__S Помощь студентам 0 07.04.2011 20:18
использование процедур и функций для работы с массивами.....Паскаль.... КиношкА Помощь студентам 6 13.01.2008 15:23


02:20.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru