![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Анька |
![]()
Сообщение
#1
|
Гость ![]() |
Помогите, :p2: пожалуйста, решить 3 задачки, я уже целый день над ними сижу, но ничего не получается!!!
1. Матрица, симметричная относительно главной диагонали, задана верхним треугольником в виде одномерного массива по строкам. Восстановить исходную квадратную матрицу и напечатать по строкам. 2. Заданную квадратную матрицу преобразовать, используя умножение строки на число и сложение строк, таким образом, чтобы все элементы первого столбца обратились в нуль, кроме элемента, расположенного на главной диагонали. 3. Дана вещественная матрица размером N х N, все элементы которой различны. Найти скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом. |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
3.
Код const n = 4; maxElem = 50; var st: set of 1 .. maxElem; var a: array[1 .. n, 1 .. n] of integer; max, min, min_col, max_row: integer; i, j, k, p: integer; begin (* randomize; st := []; *) for i := 1 to n do for j := 1 to n do begin write('a[', i:2, ',', j:2, '] = '); readln(a[i, j]); (* repeat k := random(maxElem) + 1; until not (k in st); a[i, j] := k; st := st + [k] *) end; max := -maxInt; min := maxInt; for i := 1 to n do for j := 1 to n do begin if a[i, j] < min then begin min := a[i, j]; min_col := j end; if a[i, j] > max then begin max := a[i, j]; max_row := i end; end; p := 0; for i := 1 to n do p := p + a[max_row, i]*a[i, min_col]; writeln( 'p = ', p ) end. Приведенная выше программа запрашивает ввод матрицы у пользователя. Если нужно сгенерировать такую матрицу размером N х N, все элементы которой различны, можно просто убрать все символы (* *) и строки: Код write('a[', i:2, ',', j:2, '] = '); readln(a[i, j]); |
Анька |
![]()
Сообщение
#3
|
Гость ![]() |
volvo :D СПАСИБО!!!
Может кто-нибудь с остальными задачками поможет, пожа-а-алуйста :molitva: !!! |
xds |
![]()
Сообщение
#4
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задача 1.
Код program RestMatr; var a: array[1..100, 1..100] of Integer; i, j, iv, n: Integer; begin Write('n = '); Readln(n); n := (Round(Sqrt(8 * n + 1)) - 1) div 2; iv := 1; for i := 1 to n do for j := i to n do begin Write('V[', iv, '] = '); Inc(iv); Read(a[i, j]); a[j, i] := a[i, j]; end; for i := 1 to n do begin for j := 1 to n do Write(a[i, j]:3); Writeln; end; end. Сообщение отредактировано: xds - 9.12.2004 7:37 -------------------- The idiots are winning.
|
xds |
![]()
Сообщение
#5
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задача 2.
Код program XMatr; { НОД } function GCD(n, m: Integer): Integer; begin repeat if n > m then n := n mod m else m := m mod n; until (n = 0) or (m = 0); if n = 0 then GCD := m else GCD := n; end; var n, i, j, k1, k2: Integer; a: array[1..100, 1..100] of Integer; begin Write('n> '); Readln(n); Randomize; for i := 1 to n do for j := 1 to n do a[i, j] := -9 + Random(20); Writeln('Исходная матрица:'); for i := 1 to n do begin for j := 1 to n do Write(a[i, j]: 4); Writeln; end; Writeln; for i := 2 to n do begin k1 := GCD(Abs(a[1, 1]), Abs(a[i, 1])); k2 := -a[1, 1] div k1; k1 := a[i, 1] div k1; for j := 1 to n do a[i, j] := a[i, j] * k2 + a[1, j] * k1; end; Writeln('Преобразованная матрица:'); for i := 1 to n do begin for j := 1 to n do Write(a[i, j]: 4); Writeln; end; end. -------------------- The idiots are winning.
|
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 20:34 |