27.06.2011, 12:46 | #1 (permalink) |
Новичок
Регистрация: 27.06.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Паскаль. Действия над матрицами
Матрица A[4] [4]. Найти минимальный элемент во 2-ой строке и разделить на него элементы главной диагонали. |
27.06.2011, 12:46 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Вы на форуме не один кто интересовался подобным Помогите создать библиотеку функций для работы с матрицами Непонятные действия компьютера Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл Игры с массивами и матрицами Действия с матрицами |
27.06.2011, 14:43 | #2 (permalink) |
一步一步地会到目的
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
|
Делить на каждый элемент главной диагонали и вывести одним числом, или на каждый последовательно? Или может на их сумму/произведение? Задание дано неточно.
И в чем трудности? Задача простейшая на самом деле. |
27.06.2011, 14:53 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Да нет, Лёша, ты просто не вчитался - формулировка там нормальная. Сперва ищется минимальный элемент второй строки, а потом все элементы главной диагонали делятся на найденное число. Единственное, а вдруг этим минимумом окажется ноль - что тогда?
|
27.06.2011, 15:28 | #4 (permalink) |
一步一步地会到目的
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
|
А, да, правда невнимательно.. Разделить НА НЕГО, а не ЕГО НА. Виноват. Но тем и задача проще..
|
27.06.2011, 15:37 | #5 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
28.06.2011, 12:48 | #6 (permalink) |
Новичок
Регистрация: 27.06.2011
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
program matrica;
uses crt; const n=4; type matr=array[1..n,1..n] of integer; var a :matr: min :integer: i,j:byte; begin clrscr; writeln('vvedite a[4,4]:'); for i:=1 to n do for j:=1 to n do begin write ('a[',i,',',j,']='); read (a[i,j]); end; writeln(^M^J,'Minimum=',min); readln; repeat until keypressed; end. УМОЛЯЮ ПОМОГИТЕ ВСТАВИТЬ ОПЕРАЦИЮ ПО УМНОЖЕНИЮ ЭЛЕМЕНТОВ ГЛАВНОЙ ДИАГОНАЛИ НА МИНИМУМ, прога работает нормально, минимум выдает, а вот с умножением трудности, пожалуйста помогите |
28.06.2011, 16:06 | #7 (permalink) |
Вечная ученица
Регистрация: 27.06.2011
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Код:
writeln('VVedite matrix '); for i:= 1 to 10 do for j:= 1 to 3 do read(A[i,j]); for i:= 1 to 10 do begin for j:= 1 to 3 do write(A[i,j], ' '); writeln; end; |
28.06.2011, 16:09 | #8 (permalink) |
Вечная ученица
Регистрация: 27.06.2011
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
ошиблась, вот он:
program matrica; uses crt; const n=4; type matr=array[1..n,1..n] of real; var a :matr; min :real; i,j:byte; begin clrscr; {Vvodim matricu} writeln('VVedite matricu '); for i:= 1 to n do for j:= 1 to n do read(A[i,j]); {Poisk minimuma } min:=A[2,1]; for i:=1 to n do begin for j:=1 to n do begin if A[2,j]<=min then min:=A[2,j] end; end; writeln; writeln('Minimum raven: ', min:5:1, #10#13); {Glavnyu diagonal delem na min} for i:= 1 to n do begin for j:= 1 to n do if i = j then A[i,j]:=A[i,j] / min; end; {Vivodim matricu} for i:=1 to n do begin for j:=1 to n do write(A[i,j]:2:1, ' ' ); writeln; end; repeat until keypressed; end. |
28.06.2011, 16:22 | #9 (permalink) |
Вечная ученица
Регистрация: 27.06.2011
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Писала для предыдущей темы, где вы вначале просили поделить главную диагональ на минимум. Если все-таки надо умножить, то в 11 строчке снизу вместо / поставить *.
|
28.06.2011, 16:36 | #10 (permalink) | ||||||||
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
1. На хрена, извините за грубость, вы сюда вкатали запись в непонятно куда, да еще с динамической адресацией? Самое смешное, что ошибок вроде не выдает, и даже на экран выводит - вот только зачем? Сдвиг от края? 2. Где и когда, покажите пальцем, у Вас присваиваются хоть какие-то значения переменной min? Естественно, всегда выводится 0. Вы ЭТО имели в виду? Цитата:
Цитата:
Код:
program matrica; uses crt; const n=4; type matr=array[1..n,1..n] of integer; var a:matr; min :integer; i,j:byte; begin clrscr; min:=32000; writeln('vvedite a[4,4]:'); for i:=1 to n do for j:=1 to n do begin write ('a[',i,',',j,']= '); readln (a[i,j]); If (i=2) and (a[i,j]<min) then min:=a[i,j]; end; writeln; for i:=1 to n do begin for j:=1 to n do write (a[i,j]:8); writeln; end; writeln; writeln('Minimum= ',min); writeln; For i:=1 to n do a[i,i]:=a[i,i]*min; for i:=1 to n do begin for j:=1 to n do write (a[i,j]:8); writeln; end; readln end. |
||||||||
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|