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

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

01.12.2015, 21:12. Показов 1444. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.12.2015, 21:12
Ответы с готовыми решениями:

Стандартные операции с массивами (матрицами)
------------------------------------------------------------------------------------------- Содержание: &quot;Переворот&quot; массива ...

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

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

1
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
01.12.2015, 22:02
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.12.2015, 22:02
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru