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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2011, 15:28   #1
dimagtr
Новичок
Джуниор
 
Регистрация: 17.06.2011
Сообщений: 8
По умолчанию турбо паскаль ИСПОЛЬЗОВАНИЕ ПРОЦЕДУР

пожалуйста помогите составить программу
Даны две вещественные матрицы А(7,7) и В(5,5).Из мат.А сформировать одномерный массив С из элементов удовлетворяющих условию к<Aij<k1. а из мат.В из элементов удовлетворяющих условию n<Bij<n1 сформировать одномерный массив D. Для ввода матриц ,формирования одномерных массивов и вывода одномерных массивов применить три PROCEDURE. При вводе матрицы и выводе одномерных массивов вывести на экран сообщение с указанием соответственно имени вводимой матр. или имени выводимого одномерного массива.
dimagtr вне форума Ответить с цитированием
Старый 19.06.2011, 15:42   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Сделаю за 100р. вебмани или ЯД, контакты в подписи.
Или показывайте наработки, рассказывайте, что не получается.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.06.2011, 16:08   #3
dimagtr
Новичок
Джуниор
 
Регистрация: 17.06.2011
Сообщений: 8
По умолчанию

с финансами у меня сейчас большие напряги(
Код:
Program z5;  
uses crt;
const f=7;
type matr=array[1..f,1..f] of real
vect=array[1..f*f] of real;
var a,b : matr; c,d: vect; n,n1,k,k1 : integer;
Procedure vvod (var x : matr ; g : integer);
var i,j : integer: 
begin  for i:=1 to g do   for j:=1 to g do read(x[i,j])
end;
в принципе у меня есть понимание как дальше написать программу , главная загвостка заключается в правильности записи условий удовлетворяющих к<Aij<k1 и удовлетворяющих n<Bij<n1 , где и как их необходимо прописать.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 19.06.2011 в 17:16.
dimagtr вне форума Ответить с цитированием
Старый 19.06.2011, 16:20   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

эм...А к и n это что вообще? При переписывании задания ничего не пропустили?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.06.2011, 16:23   #5
dimagtr
Новичок
Джуниор
 
Регистрация: 17.06.2011
Сообщений: 8
По умолчанию

задание написано правильно ,а что это за значения я сам до конца не понимаю.

может это переменные определяющие границы матрицы строк и столбцов исходя из которых формируется одномерный массив.

Последний раз редактировалось Stilet; 19.06.2011 в 17:19.
dimagtr вне форума Ответить с цитированием
Старый 19.06.2011, 17:12   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

т.е. A(n, k) и B(n1, k1)? Причем n=k и n1=k1
Чот извращение какое-то и тогда 7<A[i,j]<5 и 7<B[i,j]<5 т.е. число больше 7 и меньше 5.
Если наоборот (5<A[i,j]<7), то
Код:
if (a[i,j]>5) and (a[i,j]<7) then begin
C[x]:=a[i,j];
x:=x+1;
end;
и перед этим x:=1;
Больше что-то не вижу никаких вариантов если задание верно записано.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.06.2011, 17:28   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
может это переменные определяющие границы матрицы строк и столбцов исходя из которых формируется одномерный массив.
скорее всего - это просто задаваемые оператором/пользователем значения!!

Код:
Procedure CreateVector (x : matr ;  xSize : integer; 
                                 Lim1, Lim2 : real; 
                                 var vRezult : vect; var vectSize : integer  );
var i,j : integer: 
begin  
   vectSize := 0;
   for i:=1 to xSize do
      for j:=1 to xSize do
         if (Lim1 < x[i,j]) and (x[i,j] > Lim2) then 
         begin 
            inc(vectSize);
            vRezult[ vectSize ] := x[i,j];
         end;
end;

...
к var добавить 
var cSize, dSize  : integer;
...
{ вызов }
  WriteLn('Введите границы отбора для массива A (K и K1)');
  Readln(K, K1);
  CreateVector( A, 7, K, K1, C, cSize);

  WriteLn('Введите границы отбора для массива B (N и N1)');
  Readln(N, N1);
  CreateVector( B, 5, N, N1, D, dSize);

....

p.s.
1) писал прямо в браузере, могут быть опечатки и мелкие погрешности...
2) мне кажется что для лимитов больше подходит вещественный тип данных. Если считаете, что это не там, исправьте на
Lim1, Lim2 : integer;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.06.2011, 17:37   #8
dimagtr
Новичок
Джуниор
 
Регистрация: 17.06.2011
Сообщений: 8
По умолчанию

спасибо за помощь , но что-то мне подсказывает , что к и n это нечто другое . может здесь имеется ввиду что к это к[1,1] , а к1 это k1[7,7]? а может и нет, вообще там сказано ,что k,k1,n и n1 вводятся с клавиатуры ,т.е. эти числа мы задаём сами.
dimagtr вне форума Ответить с цитированием
Старый 19.06.2011, 17:51   #9
dimagtr
Новичок
Джуниор
 
Регистрация: 17.06.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
скорее всего - это просто задаваемые оператором/пользователем значения!!

Код:
Procedure CreateVector (x : matr ;  xSize : integer; 
                                 Lim1, Lim2 : real; 
                                 var vRezult : vect; var vectSize : integer  );
var i,j : integer: 
begin  
   vectSize := 0;
   for i:=1 to xSize do
      for j:=1 to xSize do
         if (Lim1 < x[i,j]) and (x[i,j] > Lim2) then 
         begin 
            inc(vectSize);
            vRezult[ vectSize ] := x[i,j];
         end;
end;

...
к var добавить 
var cSize, dSize  : integer;
...
{ вызов }
  WriteLn('Введите границы отбора для массива A (K и K1)');
  Readln(K, K1);
  CreateVector( A, 7, K, K1, C, cSize);

  WriteLn('Введите границы отбора для массива B (N и N1)');
  Readln(N, N1);
  CreateVector( B, 5, N, N1, D, dSize);

....

p.s.
1) писал прямо в браузере, могут быть опечатки и мелкие погрешности...
2) мне кажется что для лимитов больше подходит вещественный тип данных. Если считаете, что это не там, исправьте на
Lim1, Lim2 : integer;
а это похоже как раз то что надо или очень близко к тексту, Спасибо огромное)
dimagtr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование процедур cyt Паскаль, Turbo Pascal, PascalABC.NET 1 09.10.2010 13:15
использование процедур street-walker Общие вопросы Delphi 4 14.09.2010 21:38
Паскаль (Ветвления, обработка строк, массивы, использование процедур и функций) Fear Beast Помощь студентам 3 01.06.2010 07:27
использование процедур и функций для работы с массивами.....Паскаль.... КиношкА Помощь студентам 6 13.01.2008 14:23