![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
False |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
Изучаю Паскаль несколько месяцев. Последние три недели бьюсь над двумя задачами.
1) Дана квадратная матрица. Вычислить скалярное произведение строки с наименьшим элементом на столбец с наибольшим элементом. Написал программу, но что то не получается в ней - всегда выдаёт нулевое произведение. Код program matrix; var n,i,j,min,max,nst,nsb,skp:integer; mat:array[1..50,1..50] of integer; ar1,ar2:array[1..50] of integer; begin writeln('Введите размер квадратной матрицы'); readln(n); writeln('Введите элементы матрицы'); for i:=1 to n do begin for j:=1 to n do begin readln(mat[i,j]); end; end; for i:=1 to n do begin for j:=1 to n do begin if mat[i,j]<mat[i+1,j] then min:=mat[i,j]; ar1[i]:=min; end; end; for j:=1 to n do begin for i:=1 to n do begin if mat[i,j+1]>mat[i,j] then max:=mat[i,j+1]; ar2[i]:=max; end; end; for i:=1 to n-1 do if ar1[i]>ar1[i+1] then nst:=i+1; for j:=1 to n-1 do if ar2[j]<ar2[j+1] then nsb:=j+1; for j:=1 to n do ar1[j]:=mat[nst,j]; for i:=1 to n do ar2[i]:=mat[i,nsb]; skp:=0; for i:=1 to n do skp:=skp+ar1[i]*ar2[j]; writeln('Произведение равно ',skp); readln; end. 2) Написать программу для перевода чисел из системы счисления с любым основанием в десятичную систему. Формула простая: N[b2] = a[q-1]*b[1]^(q-1) + a[q-2]*b[1]^(q-2) + ... + a[1]*b[1]^1 + a[0]*b[1]^0 Например: (571.31)[8] = (?)[10] (571.31)[8] = 5*8^2 + 7*8^1 + 1*8^0 + 3*8^(-1) + 1*8^(-2) = (377.390625)[10] Решение, по моему мнению, должно выглядеть так: 1) Запрос основания системы 2) Запрос числа 3) Вычисление 4) Вывод результата Но решить задачу никак не получается. Помогите, пожалуйста. Сообщение отредактировано: False - 19.12.2006 16:49 |
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 2:27 |