Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 15.12.2013, 00:24   #1 (permalink)
furt123
Member
 
Регистрация: 06.12.2013
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Матрица. Сформировать вектор по условию

Задана матрица A (m*n). сформировать вектор В, элементами которого являются эл-ты матр А, удовлетворяющие условию с≤|aij|≤d.
вот сделал формирование самой матрицы. а как отсюда вектор этот вытащить не догоняю..

const
n1 = 20; m1 = 20;

type
index1 = 1..n1;
index2 = 1..m1;
matrix = array[index1, index2]of real;

var
n, i: index1;
m, j: index2;
A: matrix;

begin
write('введите кол-во строк n= ');readln(m);
write('введите кол-во столбцов m= ');readln(n);
writeln('_____________________________________');
writeln('исходная матрица А');
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=-30+random(50);
write(a[i,j]:4);
end;
writeln;
end;
writeln('_____________________________________');
end.
furt123 вне форума   Ответить с цитированием

Старый 15.12.2013, 00:24
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Обязательно обратите внимание на аналогичные топики

Сформировать и вывести матрицу
Матрица
Из положительных элементов исходного массива сформировать новый массив
Матрица
Сформировать и вывести массив
Логический вектор. Паскаль

Старый 15.12.2013, 00:27   #2 (permalink)
furt123
Member
 
Регистрация: 06.12.2013
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

в среде Pascal ABC net. соответственно.
furt123 вне форума   Ответить с цитированием
Старый 15.12.2013, 09:24   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от furt123 Посмотреть сообщение
а как отсюда вектор этот вытащить не догоняю..
Да легко. Вот только понять бы, в чем великий замысел перепутывания параметров n и m (запрашивается одно, вводится другое и т.п.)? Чтобы коварный враг ничего не понял? Ну я, уж извините, эту дурость убрал. И еще. Ввод данных и формат вывода у Вас сделаны для матрицы с элементами типа Integer, а в то же время матрица объявляется, как Real. Ни к чему это. Исправил.
Код:
const
 n1 = 20;
 m1 = 20;

type
 index1 = 1..n1;
 index2 = 1..m1;
 index3 = 1..n1*m1;
 matrix = array[index1, index2] of Integer;
 vector = array[index3] of Integer;

var
 n, i: index1;
 m, j: index2;
 k : index3;
 A: matrix;
 B: vector;
 c, d : real;
 N_B : byte;

begin
 write('n= ');
 readln(n);
 write('m= ');
 readln(m);
 writeln('_____________________________________');
 writeln('Matrix:');
 for i:=1 to n do
  begin
   for j:=1 to m do
    begin
     A[i,j]:=-30+random(50);
     write(A[i,j]:4);
    end;
   writeln;
  end;
 writeln('_____________________________________');
 write('c= ');
 readln(c);
 write('d= ');
 readln(d);
 writeln('_____________________________________');
 N_B:=0;
 for i:=1 to n do
  for j:=1 to m do
   if (A[i,j]>=c) and (A[i,j]<=d) then
    begin
     Inc(N_B);
     B[N_B]:=A[i,j];
    end;
 writeln('Array:');
 for k:=1 to N_B do write(B[k]:4);
 writeln
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 15.12.2013, 15:15   #4 (permalink)
furt123
Member
 
Регистрация: 06.12.2013
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо большое!) за замечания в том числе) учту на будущее.
всё работает только A[i,j] "по модулю" добавлю)
furt123 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


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

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




Часовой пояс GMT +4, время: 17:33.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.