Форум программистов, компьютерный форум, киберфорум
Наши страницы

Pascal (Паскаль)

Войти
Регистрация
Восстановить пароль
 
Iozhik-max
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 6
#1

Действительная матрица,действительные числа. Добавление строки\столбца - Pascal

15.05.2009, 23:52. Просмотров 1072. Ответов 2
Метки нет (Все метки)

31 Задана действительная матрица размера n*(n+1), действительные числа а1, … ,аn+1, в1, … , вn+1, натуральные числа р, q (р≤ n, q≤ n+1). Получить матрицу размера (n+1)*(n+2) вставкой после строки с номером р данной матрицы новой строки с элементами а1, а2, … , аn+1 и последующей вставкой после столбца с номером q нового столбца с элементами в1, … , аn+1.

Добавлено через 1 минуту 27 секунд
У самого получилось вот что. Что делать дальше?
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
program Matrix;
uses crt;
const z=5;
x=6;
var
i,j,m,n,p,q:integer;
MassivI:array [1..z,1..x] of real;
b :array [1..z] of real;
c:array [1..z] of real;
   begin
      clrscr;
      textcolor (5);
      writeln ('PROGRAM FOR WORK WITH MATRIX');
      writeln ('Press enter to run program');
      readln;
      writeln ('Matrix');
      write ('n='); readln (n);
      m:=n+1;
      randomize;
 
            for i:=1 to m do begin
            for j:=1 to n do begin
            massivI[i,j]:=random (10);
            write (massivI[i,j]:3:0,'  ');
      end;
           writeln;
    end;
           writeln;
           writeln;
           writeln ('Press enter to work');
           readln;
    writeln ('Enter p and q. P<=n,Q<=n+1');
    readln;
    writeln ('p=');
    readln(p);
    writeln ('q=');
    readln (q);
         for i:=1 to m do begin
         b[i]:=random(100);
         write (b[i]:3:0,'  ');
          end;
           write ('                       ');
                     for j:=1 to n do begin
         c[i]:=random(100);
         write (c[i]:3:0,' ');
         end;
                    writeln ('Press enter to see new matrix');
                    readln;
                    writeln ('new matrix');
 
                   begin
                    for i:=1 to m do
                    for j:=1 to n do
 
                    if i=p+1 then
                    begin
 
 
                    writeln( massivi[i,j]:3:0);
         end;  end;
   readln;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2009, 23:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Действительная матрица,действительные числа. Добавление строки\столбца (Pascal):

Дана действительная матрица размера n на m. Получить последовательность b1,..,bn, где bk- это произведение квадратов тех элементов k-й строки - Pascal
Дана действительная матрица размера n на m. Получить последовательность b1,..,bn, где bk- это произведение квадратов тех элементов k-й...

матрица нахождение строки и столбца - Pascal
В матрице С найти строку и столбец, в которых находится минимальной элемент, и заменить элементы этой матрицы на элементы этого столбца.

Дана действительная матрица размера m x m "." Определить числа b0, b1, "...," bm равные соответственно: разностям наибольших и наименьших знач. эл-ов. - Pascal
Помогите с решением плз. если есть на форуме дайте ссылку. спасибо

Дана матрица размером M*N. Упорядочить ее строки по возрастанию элементов k-го столбца. - Pascal
Дана матрица размером M*N. Упорядочить ее строки по возрастанию элементов k-го столбца.

Действительная матрица - Pascal
Доброе время суток. помогите решить задачку срочно нужно, если можно то не фрагмент а целиком. дана действительная матрица А, размером...

Действительная матрица M х N - Pascal
Вот задачка: Дана действительная матрица размера M x N. Найти сумму наибольших значений элементов её строк. Зарание спасибо!!!!

2
Puporev
Модератор
54015 / 41648 / 14728
Регистрация: 18.05.2008
Сообщений: 97,905
16.05.2009, 12:57 #2
Вот сам алгоритм, всякие прибамбасы на чуждом мне наречии убрал.
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
program Matrix;
uses crt;
const
nmax=20;{максимальный размер матрицы}
var
i,j,m,n,p,q:integer;
ms:array [1..nmax,1..nmax] of real;
a:array [1..nmax] of real;{массивы назовем как в условии}
b:array [1..nmax] of real;
begin
clrscr;
randomize;
write('m=');
repeat
readln(m);{вводим количество строк}
until m in [1..nmax];{проверяем чтоб не вылезло за пределы}
n:=m+1;{количество столбцов}
writeln ('Matrix');
for i:=1 to m do
 begin
  for j:=1 to n do
   begin
    ms[i,j]:=10*random;{числа вещественные}
    write (ms[i,j]:5:2);
   end;
  writeln;
 end;
writeln;
write ('p=');
repeat
readln(p);
until p in [1..n];{проверяем диапазон}
write('q=');
repeat
readln (q);
until q in [1..n+1];
writeln;
writeln('Massiv A:');
for i:=1 to n do
  begin
   a[i]:=10*random;
   write (a[i]:5:2);
  end;
writeln;
writeln('Massiv B:');
for i:=1 to n do
  begin
   b[i]:=10*random;
   write (b[i]:5:2);
  end;
writeln;
writeln;
{вставка строки}
if p=m then{если после последней}
 begin
  for i:=1 to n  do
  ms[m+1,i]:=a[i];{в добавленную строку пишем массив А}
 end
else{если нет}
 begin
  for j:=1 to n do{все строки}
   begin
    for i:=m+1 downto p+2 do{от последней до места вставки}
    ms[i,j]:=ms[i-1,j];{сдвигаем вниз}
    ms[p+1,j]:=a[j];{на освободившееся место пишем массив А}
   end;
 end;
{вставка столбца}
if q=n then{если за последним}
 begin
  for i:=1 to m+1 do
  ms[i,n+1]:=b[i];{записываем массив В}
 end
else{иначе}
 begin
  for i:=1 to m+1 do{все столбцы}
   begin
    for j:=n+1 downto q+2 do{от последнего до места вставки}
    ms[i,j]:=ms[i,j-1];{сдвигаем вправо}
    ms[i,q+1]:=b[i];{пишем на свободное место массив В}
   end;
 end;
Writeln('Rezultat:');
for i:=1 to m+1 do{выводим матрицу в новых размерах}
 begin
  for j:=1 to n+1 do
  if(i=p+1)or(j=q+1)then{если это вставленные строка и столбец}
   begin
    textcolor(12);{выделим ярко-красным цветом}
    write(ms[i,j]:5:2);
   end
  else
   begin
    textcolor(15);{остальные по умолчанию, обычно белый или черный(0)}
    write(ms[i,j]:5:2);
   end;
  writeln;
 end;
readln
end.
1
Iozhik-max
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 6
16.05.2009, 22:15  [ТС] #3
Спасибо большое!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2009, 22:15
Привет! Вот еще темы с ответами:

Действительная матрица - Pascal
Дана действительная матрица размером (n*m). Найти значение сумму наименьших элементов ее строк!&quot;!!!

Квадратная матрица, замена каждого элемента в диагонали суммой элементов строки и столбца - Pascal
В заданной квадратной матрице A(K,K)(K&lt;10) заменить каждый элемент главной диагонали суммой элементов строки и столбца, в которых...

Дана действительная матрица A - Pascal
Дана действительная матрица A размером M x N, где М, N - заданные натуральные числа. Сформировать одномерный массив B, в котором элемент...

действительная квадратная матрица - Pascal
дана действительная квадратная матрица порядка 2n. Получить новую матрицу, переставляя ее блоки размера n * n по часовой стрелке, начиная с...


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

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

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