1 / 1 / 0
Регистрация: 17.11.2014
Сообщений: 9
1

Дана квадратная матрица порядка М, М<=18. Получить массив В, каждый элемент которого

17.11.2014, 00:50. Показов 1180. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана квадратная матрица порядка М, М<=18. Получить массив В, каждый элемент которого есть квадрат тех элементов строк, модули которых принадлежат отрезку [1,10]. Массив В распечатать.

Помогите хотя бы с заполнением матрицы, пожалуйста

Добавлено через 15 минут
Заполнить смог
Теперь дальше не очень понимаю смысл
квадрат тех элементов строк, модули которых
Нужно же просто проанализировать каждый элемент на принадлежность его модуля отрезку [1..10]?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2014, 00:50
Ответы с готовыми решениями:

Дана квадратная матрица А порядка n. Получить А^3
2) дана квадратная матрица А порядка n.получить А^3

Дана квадратная матрица A порядка n. Получить матрицу АВ
Элементы матрицы В вычисляются по формуле: bij = 1/(i+j-1) Написал код на Си Как его...

Дана квадратная матрица А порядка n. Получить матрицу АВ
Дана квадратная матрица А порядка n. Получить матрицу АВ; элементы матрицы В вычисляются по формуле

Дана квадратная матрица порядка n. Получить матрицу A^2
Дана квадратная матрица порядка n. Получить матрицу A^2 (А в квадрате).

7
15 / 15 / 21
Регистрация: 13.11.2014
Сообщений: 275
17.11.2014, 00:58 2
Pascal
1
if a[i,j]<=10 and a[i,j]>=1 then  sgr(abs(a[i,j]));
попробуй так
0
1 / 1 / 0
Регистрация: 17.11.2014
Сообщений: 9
17.11.2014, 01:03  [ТС] 3
Вот что сделал, но выдает ошибку "операция >= неприменима к типам integer и boolean", да и там по-любому еще куча ошибок

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
program sem1(4);
const
nmax=18;
var
 a:array[1..nmax , 1..nmax] of integer;
 b:array[1..nmax , 1..nmax] of integer;
 i,j,d ,n , max :integer;
begin
 writeln('Введите n');
 read(n);
 writeln();
 randomize;
 for i:=1 to n do 
  begin
   for j:=1 to n do
    begin
     a[i,j]:=random(10);
     write(a[i,j]);
    end;
   writeln;
  end;
writeln;
 for i:=1 to n do
  begin
   for j:=1 to n do
    begin
     if abs(a[i,j])<=10 and abs(a[i,j])>=1 then
      for i:=1 to n do
       begin
        b[i,j]:=sqr(a[i,j]);
        writeln(b[i,j]);
       end;
    end;
  end;  
 end.
0
15 / 15 / 21
Регистрация: 13.11.2014
Сообщений: 275
17.11.2014, 01:08 4
зачем ты в строке 27 использовал abs
0
1 / 1 / 0
Регистрация: 17.11.2014
Сообщений: 9
17.11.2014, 01:11  [ТС] 5
По условию же нужно анализировать модули на принадлежность [1;10]
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32627 / 21094 / 8139
Регистрация: 22.10.2011
Сообщений: 36,356
Записей в блоге: 8
17.11.2014, 01:28 6
Цитата Сообщение от ivzab Посмотреть сообщение
выдает ошибку "операция >= неприменима к типам integer и boolean"
Правильно делает, сложные условия надо скобками оборачивать:
Pascal
27
if (abs(a[i,j])<=10) and (abs(a[i,j])>=1) then
Теперь тебе осталось сделать в 28 строке цикл по другой переменной (по i нельзя, ее цикл еще не окончился), и получишь компилирующийся код...
0
1 / 1 / 0
Регистрация: 17.11.2014
Сообщений: 9
17.11.2014, 01:31  [ТС] 7
В общем, вот что получается

Она даже работает, но как-то не совсем правильно
У меня много получается очень много одинаковых элементов

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
program sem1;
const
nmax=18;
var
 a:array[1..nmax , 1..nmax] of integer;
 b:array[1..nmax , 1..nmax] of integer;
 i,j,d,n,i1,j1:integer;
begin
 writeln('Введите n');
 read(n);
 writeln();
 randomize;
 for i:=1 to n do 
  begin
   for j:=1 to n do
    begin
     a[i,j]:=random(50);
     write(a[i,j]:4);
    end;
   writeln;
  end;
writeln;
 for i:=1 to n do
  begin
   for j:=1 to n do
    begin
     if (abs(a[i,j])<=10) and (abs(a[i,j])>=1) then
      for i1:=1 to n do
begin
for j1:=1 to n do
begin
b[i,j]:=sqr(a[i,j]);
write(b[i,j]:4);
end;
writeln
end;
       end;
    end;
  end.
0
15 / 15 / 21
Регистрация: 13.11.2014
Сообщений: 275
17.11.2014, 01:46 8
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
const
nmax=18;
var
 a:array[1..nmax , 1..nmax] of integer;
 b:array[1..nmax , 1..nmax] of integer;
 i,j,d ,n , max :integer;
begin
 writeln('Введите n');
 readln(n);
 
 randomize;
 for i:=1 to n do 
  begin
   for j:=1 to n do
    begin
     a[i,j]:=random(10)-5;
     write(a[i,j]:4);
    end;
   writeln;
  end;
writeln;
begin
 for i:=1 to n do
  begin
   for j:=1 to n do
    begin
     if (abs(a[i,j])<=10) and (abs(a[i,j])>=1) then
     {begin 
      for i:=1 to n do begin 
      for j:=1 to n do
       begin }
        b[i,j]:=sqr(a[i,j]);
        end;
        end;
        begin
         for i:=1 to n do
  begin
   for j:=1 to n do
    begin
        write(b[i,j]:4);
       end;
       writeln;
    end;
    
    end;
  end;
 
 end.
кажется правильно
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2014, 01:46
Помогаю со студенческими работами здесь

Дана квадратная матрица А порядка n, векторы x и y с n-элементами. Получить вектор А(x+y)
Дана квадратная матрица А порядка n, векторы x и y с n-элементами. Получить вектор А(x+y)

Дана целочисленная квадратная матрица порядка N. Получить число b1,b2.bn равные
Помогите пожалуйста решить задачу. Дана целочисленная квадратная матрица порядка N. Получить число...

Дана квадратная матрица порядка n. Получить скалярное произведение ее диагоналей
Дана квадратная матрица порядка n. Получить скалярное произведение ее диагоналей. помогите решить,...

Дана квадратная матрица порядка 2n, получить новую матрицу переставляя 1 и 2 ее блоки
1.дана действительная квадратная матрица порядка 2n. получить новую матрицу переставляя 1 и 2 ее...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru