Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
196 / 6 / 1
Регистрация: 10.11.2015
Сообщений: 171
1

Стандартные операции с матрицами

01.12.2015, 21:12. Просмотров 829. Ответов 1
Метки нет (Все метки)


Очень прошу, помогите, кто чем сможет) буду очень благодарна...
Написать программы и если можно, без функций и процедур
1 задание: заполнить матрицу целыми числами по образцу:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\begin{array}{rrrrr}1 & 3 & 4 & 10 & 11\\\\2 & 5 & 9 & 12 & 19\\\\ 6 & 8 & 13 & 18 & 20\\\\ 7 & 14 & 17 & 21 & 24\\\\ 15 & 16 & 22 & 23 & 25\end{array}<br />

Код заполнения матрицы нашла, но с процедурой, помогите написать без процедуры..
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
Const
    N = 5;
Var
    A:Array[1..20,1..20] Of Integer;
    k,x,y,Num:integer;
  
Procedure Check(Var i,j:Integer);
    Begin
      If i = 0 Then i:=i+1
        Else
          If i > N Then
            Begin
              i:= N;
              j:= j+2;
            End;
    End;  
Begin
    x:=1;
    y:=1;
    k:=1;
    For Num:=1 To N*N Do
        Begin
            A[x,y]:=Num;
            x:=x + k;
            y:=y - k;
        k:=k*(1 - 2*Ord((x = 0)Or(y = 0)Or(x > N)Or(y > N)));
        If Odd(N) Then
            Begin
                Check(x,y);
                Check(y,x);
            End
                Else
            Begin
                Check(y,x);
                Check(x,y);
            End;
        End;
    For x:=1 To N Do
        Begin
            For y:=1 To N Do
                Write(a[x,y]:3);
            WriteLn;
        End;
    ReadLn;
End.
2 задание: Последний отрицательный элемент каждого столбца двумерного массива заменить нулем.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2015, 21:12
Ответы с готовыми решениями:

Стандартные операции с массивами (матрицами)
-------------------------------------------------------------------------------------------...

Стандартные операции с массивами
Можете помочь? Завтра сдавать : 1) Вести массив A(N). Найти среднее геометрическое значение...

Операции с матрицами в Pascal
Здравствуйте!Помогите пожалуйста с написанием программы для следующей задачи: Дана матрица размера...

Основные операции с матрицами
Определить значение матричного многочлена f(x)=A*A*A+2*A*A-3*A-5*E; -2 0 3 A= 9 ...

__________________
Помогаю в написании студенческих работ здесь.
1
Модератор
63211 / 46972 / 32373
Регистрация: 18.05.2008
Сообщений: 113,850
01.12.2015, 22:02 2
1.
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
const n=5;
var a:array[1..n,1..n] of integer;
    k,x,y,num:integer;
begin
x:=1;
y:=1;
k:=1;
for num:=1 to n*n do
 begin
  a[x,y]:=num;
  x:=x + k;
  y:=y - k;
  if (x = 0)or(y = 0)or(x > n)or(y > n) then k:=-k;
  if odd(n) then
   begin
    if x = 0 then x:=x+1
    else if x > n then
     begin
      x:=n;
      y:=y+2;
     end;
    if y = 0 then y:=y+1
    else if y > n then
     begin
      y:=n;
      x:=x+2;
     end;
   end
  else
   begin
    if y = 0 then y:=y+1
    else if y > n then
     begin
      y:=n;
      x:=x+2;
     end;
    if x = 0 then x:=x+1
    else if x > n then
     begin
      x:=n;
      y:=y+2;
     end;
   end;
  end;
for x:=1 to n do
 begin
  for y:=1 to n do
  write(a[x,y]:3);
  writeLn;
 end;
end.
Добавлено через 13 минут
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
const nmax=20;
var a:array[1..nmax,1..nmax]of integer;
    n,m,i,j,jp:integer;
begin
repeat
write('Количество строк до ',nmax,' n=');
readln(n)
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' m=');
readln(m);
until m in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    repeat
    a[i,j]:=-10+random(21);
    until a[i,j]<>0;//матрица без нолей
    write(a[i,j]:4);
   end;
  writeln;
 end;
for i:=1 to n do
 begin
  jp:=0;
  j:=m;
  while(j>=1)and(jp=0) do
  if a[i,j]<0 then jp:=j
  else j:=j-1;
  if jp>0 then a[i,jp]:=0;
 end;
writeln('Измененная матрица:');
for i:=1 to n do
 begin
  for j:=1 to m do
  write(a[i,j]:4);
  writeln;
 end;
 
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2015, 22:02

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Арифметические операции над матрицами
Выполнив действия над матрицами A(n,n) и B(n,n) вычислить матрицу C(n,n) по формуле...

Выполнить операции с квадратными матрицами
2. Выполнить операции (здесь A, B, C, D — квадратные матрицы порядка n) (B^T)*(C^T)*(D^T)

Определть операцию div через другие операции и стандартные функции
помогите написать программу на языке паскаль!!! Задание: Определть операцию div через другие...

Операции с массивами и матрицами, подсчет кол-ва столбцов содержащих отрицательные элементы.
Нужна помощь с таким заданием: Если в прямоугольной матрице меньше половины столбцов содержит...

Выполнить операции над матрицами
Выполнить операции (здесь A, B, C, D — квадратные матрицы порядка n) 3D-4ATBCD

Численные операции над матрицами
Даны 3-ех элементные вещественные векторы x и y и квадратные матрицы A и B. Вычислить: ...


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

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

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