28.04.2014, 15:51 | #1 (permalink) |
Member
Регистрация: 06.12.2013
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Паскаль. Работа с массивами
задание: дана квадратная матрица А порядка n. сформировать вектор d из сумм элементов столбцов А, отсортировать вектор и сформировать из его элементов диагональную матрицу С. И окончательно найти след матрицы Код:
program laba; var a: array [1..5, 1..5] of integer; c: array [1..5, 1..5] of integer; d: array [1..5] of integer; i, j, n, s, k, h, p: integer; begin Write(' ввод размерности матрицы n= '); Readln(n); for i := 1 to n do for j := 1 to n do begin write('A[', i, ',', j, ']='); Readln(a[i, j]); end; writeln(' полученная матрица '); for i := 1 to n do begin for j := 1 to n do Write(' ', a[i, j], ' '); writeln; end; writeln; for j := 1 to n do begin s := 0; for i := 1 to n do s := s + a[i, j]; d[j] := s; end; Write('вектор d--> '); for j := 1 to n do write(d[j]:4); writeln; writeln; for j := 1 to n - 1 do for k := 1 to n - j do if d[k] > d[k + 1] then begin h := d[k]; d[k] := d[k + 1]; d[k + 1] := h end; write('Отсортированный массив: '); for j := 1 to n do write(d[j]:4); writeln; for i := 1 to n do for j := 1 to n do begin if i = j then c[i, j] := d[j] else c[i, j] := 0; end; writeln(' полученная матрица c:'); for i := 1 to n do begin for j := 1 to n do Write(' ', c[i, j], ' '); writeln; end; p := 0; for i := 1 to n do p := p + c[i, i]; writeln('след матрицы = ', p); end. |
28.04.2014, 15:51 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
По этим ссылкам содержится нужная вам информация Помогите решить задачу c массивами. Паскаль Паскаль. Работа со списками Паскаль. Работа с деревьями Работа с массивами на ассемблере Работа с массивами Паскаль АВС. Задача с массивами |
28.04.2014, 16:03 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
a: array [1..5, 1..5] of integer; c: array [1..5, 1..5] of integer; Код:
a, c: array [1..5, 1..5] of integer; |
|
28.04.2014, 21:58 | #4 (permalink) | |
Member
Регистрация: 06.12.2013
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Цитата:
в особенности интересует как понимать эту строку: |
|
28.04.2014, 22:28 | #5 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
10.05.2014, 22:10 | #6 (permalink) |
Member
Регистрация: 06.12.2013
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
понимаю, что наверно надоел. но всё равно надеюсь на вашу помощь.
преподователь просит сделать так, чтобы при отсутствии необходимости сортировать вектор программа не перемалывала его, а выходила из цикла. намекнул на использование флага. схема алгоритма у меня есть, но как реализовать это в тексте программы не понимаю. подскажите пожалуйста. |
10.05.2014, 22:59 | #7 (permalink) | |
Member
Регистрация: 06.12.2013
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
вроде справился) проверьте пожалуйста.
Цитата:
|
|
10.05.2014, 23:37 | #8 (permalink) | |
Member
Регистрация: 06.12.2013
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
или вот со счётчиком(выкладываю весь текст, поскольку сомневаюсь в коректности) :
Цитата:
если не ошибаюсь счётчик должен помогать в том, чтобы не сравнивать с элементом, который после первого прохода стоит на своём месте. |
|
11.05.2014, 09:38 | #9 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
А ошибок в программе я не вижу. |
|
11.05.2014, 12:02 | #10 (permalink) |
Member
Регистрация: 06.12.2013
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
понял, спасибо.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|