Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
DangerousV
1 / 1 / 1
Регистрация: 29.10.2012
Сообщений: 52
1

Из положительных элементов обеих векторов сформировать матрицу

13.10.2013, 07:17. Просмотров 906. Ответов 3
Метки нет (Все метки)

Дан вектор А[1:30] и вектор В[1:15]. Если разность между максимальными элементами векторов больше 10, то из положительных элементов обеих векторов сформировать матрицу С[1:5,1:4]. Иначе в векторе А за максимальным элементом вставить все элементы вектора В.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2013, 07:17
Ответы с готовыми решениями:

Из положительных элементов обеих векторов сформировать матрицу
Задание: Нужно с помощью подпрограмм выполнить задание... Дан вектор А и...

Из положительных элементов матрицы A сформировать матрицу М
Из положительных элементов матрицы A сформировать матрицу М (10, KMAX),...

Из положительных элементов матрицы N сформировать матрицу M
Дана задача. N(10.10) Из положительных элементов матрицы N сформировать...

Сформировать третий вектор из нечетных элементов первого вектора и положительных элементов обоих векторов
Дан целочисленный вектора A(n) и целочисленный вектор B(m). Сформировать третий...

Из положительных элементов матрицы N сформировать матрицу M
помогите решить задачу.Буду очень благодарна N(10, 10) Из положительных...

3
Puporev
Модератор
55109 / 42354 / 29253
Регистрация: 18.05.2008
Сообщений: 100,079
13.10.2013, 10:39 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от DangerousV Посмотреть сообщение
из положительных элементов обеих векторов сформировать матрицу С[1:5,1:4].
А если положительных будет меньше 20, то что добавлять в матрицу? Да и как поступать если их больше 20?

Добавлено через 1 час 53 минуты
Сделал если положительных меньше 20, то конец матрицы заполняем числом 100, если больше 20, берем 20 первых по порядку.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
uses crt;
const n=30;
      m=15;
      p=5;
      q=4;
type vec=array[1..n] of integer;
     mtr=array[1..p,1..q] of integer;
procedure vector(var a:vec;x:byte;c:char);
var i:byte;
begin
writeln('Вектор ',c);
for i:=1 to x do
 begin
  a[i]:=-10+random(100);
  write(a[i]:4)
 end;
writeln
end;
procedure max(a:vec;x:byte;var m:integer;var imx:byte;c:char);
var i:byte;
begin
m:=a[1];
imx:=1;
for i:=1 to x do
if a[i]>m then
 begin
  m:=a[i];
  imx:=i
 end;
writeln('Максимальный элемент вектора ',c,'=',m);
if c='A' then writeln('его номер=',imx)
end;
procedure matrix(a,b:vec;var c:mtr);
var i,j,k,x:byte;
begin
i:=1;
j:=0;
for k:=1 to n do
 begin
  if a[k]>0 then
   begin
    j:=j+1;
    if j=p then
     begin
      j:=1;
      i:=i+1
     end;
    c[i,j]:=a[k];
   end;
  if i*j=p*q then break
 end;
if i*j<p*q then
 begin
  for k:=1 to m do
   begin
    if b[k]>0 then
     begin
      j:=j+1;
      if j=p then
       begin
        j:=1;
        i:=i+1
       end;
      c[i,j]:=b[k];
     end;
    if i*j=p*q then break
   end
 end;
x:=i*j;
if x<p*q then
for k:=1 to p*q-x do
 begin
  j:=j+1;
  if j=p then
   begin
    j:=1;
    i:=i+1
   end;
  c[i,j]:=100;
 end;
writeln('Матрица C');
for i:=1 to p do
 begin
  for j:=1 to q do
  write(c[i,j]:4);
  writeln
 end;
end;
procedure vstavka(var a:vec;b:vec;k:byte);
var x,i,j:byte;
begin
x:=n;
for i:=1 to m do
 begin
  x:=x+1;
  for j:=x downto k+i+1 do
  a[j]:=a[j-1];
  a[k+i]:=b[i];
 end;
writeln('Вставка вектора B в вектор А после максимального:');
for i:=1 to n+m do
write(a[i]:4);
end;
var a,b:vec;
    c:mtr;
    i,imxa,imxb:byte;
    mxa,mxb:integer;
begin
clrscr;
randomize;
vector(a,n,'A');
vector(b,m,'B');
max(a,n,mxa,imxa,'A');
max(b,m,mxb,imxb,'B');
if abs(imxa-imxb)>10 then matrix(a,b,c)
else vstavka(a,b,imxa);
readln
end.
0
DangerousV
1 / 1 / 1
Регистрация: 29.10.2012
Сообщений: 52
29.10.2013, 13:06  [ТС] 3
постройте пожалуйста алгаритм.
0
DangerousV
1 / 1 / 1
Регистрация: 29.10.2012
Сообщений: 52
06.11.2013, 07:58  [ТС] 4
кому не трудно, постройте алгаритм.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2013, 07:58

Сформировать из положительных элементов файла квадратную матрицу максимально возможного размера
Дан файл f.Сформировать из его положительных элементов квадратную мутрицу...

Из положительных элементов матрицы N сформировать матрицу M, располагая их в строках матрицы подряд
Здравствуйте, подскажите как решить. Условие задачи: Из положительных...

суммы положительных элементов векторов
Даны два вектора R(8), F(10). Найти значение S=X1³+X2³+Y1³+Y2³, где X1, X2 –...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru