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

Pascal ABC

Войти
Регистрация
Восстановить пароль
 
mafus
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 4
#1

Найти матрицу B = Am, где, m - целое число больше единицы - Pascal ABC

15.04.2013, 18:47. Просмотров 395. Ответов 4
Метки нет (Все метки)

Задание 1.9.
а) Найти матрицу B = Am, где, m - целое число больше единицы;
б) умножить элементы k-ой строки матрицы В на заданное число;
в) вычислить сумму отрицательных элементов полученной матрицы, расположенных под ее главной диагональю в столбцах с четными номерами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 18:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти матрицу B = Am, где, m - целое число больше единицы (Pascal ABC):

Дана квадратная матрица А порядка n Найти матрицу B=A^m, где m целое число - Pascal ABC
Напишите, пожалуйста программу и алгоритмизацию Дана квадратная матрица А порядка n Найти матрицу B=Am, где m целое число ...

Требуется вывести квадратную матрицу, где первый квадрат-единицы, квадрат внутри него-нули, потом снова единицы и т.д. - Pascal
Требуется вывести квадратную матрицу, где первый квадрат-единицы, квадрат внутри него-нули, потом снова единицы и так далее. Прошу...

Дано целое число N (> 1). Найти наибольшее целое число K, при котором выполняется неравенство 3K < N. - Pascal
Дано целое число N (&gt; 1). Найти наибольшее целое число K, при котором выполняется неравенство {3}^{k} &lt; N. как возвести в степень, и как...

Дано целое число N>0. Найти наименьшее целое положительное число К, квадрат которого превосходит N:K*K>N - Pascal ABC
дано целое число N&gt;0. Найти наименьшее целое положительное число К, квадрат которого превосходит N:K*K&gt;N.Функцию извлечения квадратного...

Дано целое число a>9. Больше ли цифра десятков цифры единиц? - Pascal ABC
помогите с задачей,пожалуйста, Дано целое число a&gt;9. Больше ли цифра десятков цифры единиц?

Напечатать ту матрицу, где больше нулевых строк - Pascal ABC
Даны три целые матрицы размером 9х4. Напечатать ту из них, где больше нулевых строк (если таких матриц несколько, напечатать их все). ...

4
skoopy
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 2
22.05.2013, 01:00 #2
Доброй ночи,
интересует аналогичное задание, но B=A^m
и было бы совсем замечательно, если каждый пункт был в отдельной подпрограмме.
0
Puporev
Модератор
54037 / 41670 / 14750
Регистрация: 18.05.2008
Сообщений: 97,986
22.05.2013, 08:11 #3
Процедуры: найдите степени квадратной матриц
Составить подпрограмму вычисления К степени квадратной матрицы
1
skoopy
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 2
28.05.2013, 14:09 #4
Спасибо, за предыдущуюу подсказку,но вот , в процессе написания возникла необходимость консультации.
Интересует вопрос, почему процедура работает только один раз, то есть возводит только в квадрат и затем не выходит на цикл?
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
uses crt;
const nmax=10;
type matr=array[1..nmax,1..nmax] of real;
procedure MxM(a1,a2:matr;n:byte;var a3:matr);
var k,j,i:byte;
begin
for k:=1 to n do
for j:=1 to n do
 begin
  a3[k,j]:=0;
  for i:=1 to n do
  a3[k,j]:=a3[k,j]+a1[k,i]*a2[i,j];
 
 end;
end;
 
var e,n,i,j,q,m,l,x,k : integer;
sum:real;
A,B,C:matr;
begin clrscr;
      writeln ('vvedite poradok matricy ГЂ (ne bolee 10!)');
      readln (n);
        if (n>10) or (n<=0) then
              begin
                repeat
                writeln('vvedite poradok matricy ГЂ (ne bolee 10!)');
                readln (n);
                until (n>0) and (n<11);
              end;
 
                  for i:=1 to n do
                   for j:=1 to n do
                    begin
                    write('A[',i,',',j,']=');
                    readln (A[i,j]);
                    end;
            writeln ('vasha ishodnaaya matrica A:');
                 for i:=1 to n do
                      begin
                         for j:=1 to n do
                             write (A[i,j]:8:2);
                             writeln;
                      end;
                      write('vvedite stepen m   = ');
                      readln (m) ;
                      q:=1;
 
                      c:=A;
                          repeat
                         MxM(c,a,n,b);
                            c:=b;
                          q:=q+1;
                             until q<=m;
 
                         writeln ('vasha poluchennaya matrica B:');
                 for i:=1 to n do
                      begin
                         for j:=1 to n do
                             write (C[i,j]:8:2);
                             writeln;
                         end;
                         
                        write('vvedite nomer k stroki (ne bolshe ',n,'!) = ');
                        readln (l) ;
                           if (l>n) or (l<=0) then
                             begin
                              repeat
                              writeln('vvedite nomer k stroki (ne bolshe ',n,'!!!) = ');
                              readln (l);
                              until (l<=n) and (l>0) ;
                             end;
              write('vvedite chislo = ');
              readln(x);
                for i:=1 to n do
                 c[i,j]:=a[l,i]*x;
                   for i:=1 to n do
                     a[l,i]:=c[i,j];
              writeln ('poluchennaya matrica B:');
                     for i:=1 to n do
                             begin
                                  for j:=1 to n do
                                     write (c[i,j]:8:2);
                                     writeln;
                             end;
                     sum:=0;
                         for i:=1 to n do
                          for j:=1 to n do
                             begin
                               if (i>j) and (c[i,j]<0) and (j mod 2=0) then
                                  sum:=sum+c[i,j];
                             end;
              writeln ('summa otricatelnyh pod glavnoy diagonalyu B = ',sum);
                writeln ('dlya vihoda nazhmite  enter.');
                 readln;
                         
                    end.
0
Puporev
Модератор
54037 / 41670 / 14750
Регистрация: 18.05.2008
Сообщений: 97,986
28.05.2013, 14:30 #5
Во первых было написано
Цитата Сообщение от skoopy Посмотреть сообщение
и было бы совсем замечательно, если каждый пункт был в отдельной подпрограмме.
Например по первой ссылке подпрограмма умножения матриц в цикле внутри самой программы возводит матрицу в заданную степень.
Можно и переделать подпрограмму чтобы сразу возводила в степень, это уж как захочешь, для этого цикл из основной программы убрать в подпрограмму.

Добавлено через 7 минут
Как-то так
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure step_matr(a1:matr;n:byte;var a3:matr);
var k,j,i:byte;
    a2:mtr;
begin
a2:=a1;
for i:=1 to n-1 do
 begin
  for k:=1 to m do
  for j:=1 to m do
   begin
    a3[k,j]:=0;
    for i:=1 to m do
    a3[k,j]:=a3[k,j]+a1[k,i]*a2[i,j];
   end;
  str(i+1,s);
  Vyvod(a3,'ГЊГ*òðèöГ* A^'+s+':');
  a2:=a3;
 end;
end;
0
28.05.2013, 14:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2013, 14:30
Привет! Вот еще темы с ответами:

Дан вещественный вектор X (x1, x2, …, xN), где N – целое положительное число - Pascal ABC
Дан вещественный вектор X (x1, x2, …, xN), где N – целое положительное число. Переменной r присвоить значение, равное сумме компонент...

Дано трехзначное целое число А. Получить из него двузначное целое число путем отбрасывания первой цифры - Pascal ABC
Дано трехзначное целое число А. Получить из него двузначное целое число путем отбрасывания первой цифры.

Дано некоторое целое число. Написать программу, которая определяет, каких цифр в нем больше - Pascal
Дано некоторое целое число. Написать программу, которая определяет, каких цифр в нем больше четных или нечетных. Кроме того, сформировать...

Дано целое натуральное число. Определить является ли первая цифра этого числа больше чем последняя - Pascal ABC
Дано целое натуральное число. Определить является ли первая цифра этого числа больше чем последняя


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

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

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